From 8ccddc483eb344489e4b0d503fc0e9b5ec82404c Mon Sep 17 00:00:00 2001 From: BlackMark Date: Sat, 21 May 2016 20:39:37 +0200 Subject: [PATCH] Added C++ stream syntax for writing strings --- usart/main.cpp | 78 +++++++++++++++++++++++++------------------------- usart/usart.h | 10 +++++-- 2 files changed, 47 insertions(+), 41 deletions(-) diff --git a/usart/main.cpp b/usart/main.cpp index cdbfbe0..d6ebcc0 100644 --- a/usart/main.cpp +++ b/usart/main.cpp @@ -1,7 +1,7 @@ /* * Copyright (c) by BlackMark 2015-2016 -* Date 05/01/2016 -* Version 1.4 +* Date 21/05/2016 +* Version 1.5 */ #include @@ -18,89 +18,89 @@ int main() array arrBuffer; - cUSART.transmitString( "\r\nSizes: \r\n" ); + cUSART << "\r\nSizes: \r\n"; sprintf( arrBuffer.data(), "%d\r\n", sizeof( char ) ); - cUSART.transmitString( "sizeof( char ) = " ); - cUSART.transmitString( arrBuffer.data() ); + cUSART << "sizeof( char ) = "; + cUSART << arrBuffer.data(); sprintf( arrBuffer.data(), "%d\r\n", sizeof( unsigned char ) ); - cUSART.transmitString( "sizeof( unsigned char ) = " ); - cUSART.transmitString( arrBuffer.data() ); + cUSART << "sizeof( unsigned char ) = "; + cUSART << arrBuffer.data(); sprintf( arrBuffer.data(), "%d\r\n", sizeof( short int ) ); - cUSART.transmitString( "sizeof( short int ) = " ); - cUSART.transmitString( arrBuffer.data() ); + cUSART << "sizeof( short int ) = "; + cUSART << arrBuffer.data(); sprintf( arrBuffer.data(), "%d\r\n", sizeof( unsigned short int ) ); - cUSART.transmitString( "sizeof( unsigned short int ) = " ); - cUSART.transmitString( arrBuffer.data() ); + cUSART << "sizeof( unsigned short int ) = "; + cUSART << arrBuffer.data(); sprintf( arrBuffer.data(), "%d\r\n", sizeof( int ) ); - cUSART.transmitString( "sizeof( int ) = " ); - cUSART.transmitString( arrBuffer.data() ); + cUSART << "sizeof( int ) = "; + cUSART << arrBuffer.data(); sprintf( arrBuffer.data(), "%d\r\n", sizeof( unsigned int ) ); - cUSART.transmitString( "sizeof( unsigned int ) = " ); - cUSART.transmitString( arrBuffer.data() ); + cUSART << "sizeof( unsigned int ) = "; + cUSART << arrBuffer.data(); sprintf( arrBuffer.data(), "%d\r\n", sizeof( long int ) ); - cUSART.transmitString( "sizeof( long int ) = " ); - cUSART.transmitString( arrBuffer.data() ); + cUSART << "sizeof( long int ) = "; + cUSART << arrBuffer.data(); sprintf( arrBuffer.data(), "%d\r\n", sizeof( unsigned long int ) ); - cUSART.transmitString( "sizeof( unsigned long int ) = " ); - cUSART.transmitString( arrBuffer.data() ); + cUSART << "sizeof( unsigned long int ) = "; + cUSART << arrBuffer.data(); sprintf( arrBuffer.data(), "%d\r\n", sizeof( long long int ) ); - cUSART.transmitString( "sizeof( long long int ) = " ); - cUSART.transmitString( arrBuffer.data() ); + cUSART << "sizeof( long long int ) = "; + cUSART << arrBuffer.data(); sprintf( arrBuffer.data(), "%d\r\n", sizeof( unsigned long long int ) ); - cUSART.transmitString( "sizeof( unsigned long long int ) = " ); - cUSART.transmitString( arrBuffer.data() ); + cUSART << "sizeof( unsigned long long int ) = "; + cUSART << arrBuffer.data(); sprintf( arrBuffer.data(), "%d\r\n", sizeof( float ) ); - cUSART.transmitString( "sizeof( float ) = " ); - cUSART.transmitString( arrBuffer.data() ); + cUSART << "sizeof( float ) = "; + cUSART << arrBuffer.data(); sprintf( arrBuffer.data(), "%d\r\n", sizeof( double ) ); - cUSART.transmitString( "sizeof( double ) = " ); - cUSART.transmitString( arrBuffer.data() ); + cUSART << "sizeof( double ) = "; + cUSART << arrBuffer.data(); sprintf( arrBuffer.data(), "%d\r\n", sizeof( long double ) ); - cUSART.transmitString( "sizeof( long double ) = " ); - cUSART.transmitString( arrBuffer.data() ); + cUSART << "sizeof( long double ) = "; + cUSART << arrBuffer.data(); sprintf( arrBuffer.data(), "%d\r\n\r\n", sizeof( void* ) ); - cUSART.transmitString( "sizeof( void* ) = " ); - cUSART.transmitString( arrBuffer.data() ); + cUSART << "sizeof( void* ) = "; + cUSART << arrBuffer.data(); while( true ) { sprintf( arrBuffer.data(), "%lu", ui32Counter++ ); - cUSART.transmitString( "This has been running for \"" ); - cUSART.transmitString( arrBuffer.data() ); - cUSART.transmitString( "\" seconds!\r\n" ); + cUSART << "This has been running for \""; + cUSART << arrBuffer.data(); + cUSART << "\" seconds!\r\n"; if( !cUSART.receiveLine( arrBuffer.data(), arrBuffer.size(), "\r" ) ) { - cUSART.transmitString( "Receive error: " ); + cUSART << "Receive error: "; } else { - cUSART.transmitString( "Echo: " ); + cUSART << "Echo: "; } - cUSART.transmitString( arrBuffer.data() ); - cUSART.transmitString( "\r\n" ); + cUSART << arrBuffer.data(); + cUSART << "\r\n"; uint8_t ui8Byte; if( cUSART.receiveByte( ui8Byte, 1000 ) ) { cUSART.transmitByte( ui8Byte ); - cUSART.transmitString( "\r\n" ); + cUSART << "\r\n"; } } diff --git a/usart/usart.h b/usart/usart.h index 399214c..8cd3d88 100644 --- a/usart/usart.h +++ b/usart/usart.h @@ -1,7 +1,7 @@ /* * Copyright (c) by BlackMark 2015-2016 -* Date 20/05/2016 -* Version 2.6 +* Date 21/05/2016 +* Version 2.7 */ #ifndef USART_H @@ -144,6 +144,12 @@ public: void receiveInterruptHandler(); void transmitInterruptHandler(); + + inline USART0& operator<<( const char *szString ) + { + transmitString( szString ); + return *this; + } }; #ifdef SECOND_USART