2016-05-19 21:43:10 +02:00
|
|
|
/*
|
|
|
|
* Copyright (c) by BlackMark 2015-2016
|
2016-05-21 20:39:37 +02:00
|
|
|
* Date 21/05/2016
|
|
|
|
* Version 1.5
|
2016-05-19 21:43:10 +02:00
|
|
|
*/
|
|
|
|
|
|
|
|
#include <stdio.h>
|
2016-05-20 15:51:01 +02:00
|
|
|
#include "clock.h"
|
2016-05-20 15:32:42 +02:00
|
|
|
#include "usart.h"
|
2016-05-21 19:11:04 +02:00
|
|
|
#include "array/array.h"
|
2016-05-19 21:43:10 +02:00
|
|
|
|
|
|
|
int main()
|
|
|
|
{
|
2016-05-20 22:27:57 +02:00
|
|
|
USART0 &cUSART = USART0::inst();
|
2016-05-19 22:59:22 +02:00
|
|
|
cUSART.init();
|
|
|
|
|
2016-05-19 21:43:10 +02:00
|
|
|
uint32_t ui32Counter = 0;
|
|
|
|
|
2016-05-21 19:11:04 +02:00
|
|
|
array<char, 64> arrBuffer;
|
2016-05-20 15:51:01 +02:00
|
|
|
|
2016-05-21 20:39:37 +02:00
|
|
|
cUSART << "\r\nSizes: \r\n";
|
2016-05-20 17:02:23 +02:00
|
|
|
|
2016-05-21 19:11:04 +02:00
|
|
|
sprintf( arrBuffer.data(), "%d\r\n", sizeof( char ) );
|
2016-05-21 20:39:37 +02:00
|
|
|
cUSART << "sizeof( char ) = ";
|
|
|
|
cUSART << arrBuffer.data();
|
2016-05-20 17:02:23 +02:00
|
|
|
|
2016-05-21 19:11:04 +02:00
|
|
|
sprintf( arrBuffer.data(), "%d\r\n", sizeof( unsigned char ) );
|
2016-05-21 20:39:37 +02:00
|
|
|
cUSART << "sizeof( unsigned char ) = ";
|
|
|
|
cUSART << arrBuffer.data();
|
2016-05-20 17:02:23 +02:00
|
|
|
|
2016-05-21 19:11:04 +02:00
|
|
|
sprintf( arrBuffer.data(), "%d\r\n", sizeof( short int ) );
|
2016-05-21 20:39:37 +02:00
|
|
|
cUSART << "sizeof( short int ) = ";
|
|
|
|
cUSART << arrBuffer.data();
|
2016-05-20 17:02:23 +02:00
|
|
|
|
2016-05-21 19:11:04 +02:00
|
|
|
sprintf( arrBuffer.data(), "%d\r\n", sizeof( unsigned short int ) );
|
2016-05-21 20:39:37 +02:00
|
|
|
cUSART << "sizeof( unsigned short int ) = ";
|
|
|
|
cUSART << arrBuffer.data();
|
2016-05-20 17:02:23 +02:00
|
|
|
|
2016-05-21 19:11:04 +02:00
|
|
|
sprintf( arrBuffer.data(), "%d\r\n", sizeof( int ) );
|
2016-05-21 20:39:37 +02:00
|
|
|
cUSART << "sizeof( int ) = ";
|
|
|
|
cUSART << arrBuffer.data();
|
2016-05-19 21:43:10 +02:00
|
|
|
|
2016-05-21 19:11:04 +02:00
|
|
|
sprintf( arrBuffer.data(), "%d\r\n", sizeof( unsigned int ) );
|
2016-05-21 20:39:37 +02:00
|
|
|
cUSART << "sizeof( unsigned int ) = ";
|
|
|
|
cUSART << arrBuffer.data();
|
2016-05-19 21:43:10 +02:00
|
|
|
|
2016-05-21 19:11:04 +02:00
|
|
|
sprintf( arrBuffer.data(), "%d\r\n", sizeof( long int ) );
|
2016-05-21 20:39:37 +02:00
|
|
|
cUSART << "sizeof( long int ) = ";
|
|
|
|
cUSART << arrBuffer.data();
|
2016-05-20 15:51:01 +02:00
|
|
|
|
2016-05-21 19:11:04 +02:00
|
|
|
sprintf( arrBuffer.data(), "%d\r\n", sizeof( unsigned long int ) );
|
2016-05-21 20:39:37 +02:00
|
|
|
cUSART << "sizeof( unsigned long int ) = ";
|
|
|
|
cUSART << arrBuffer.data();
|
2016-05-19 21:43:10 +02:00
|
|
|
|
2016-05-21 19:11:04 +02:00
|
|
|
sprintf( arrBuffer.data(), "%d\r\n", sizeof( long long int ) );
|
2016-05-21 20:39:37 +02:00
|
|
|
cUSART << "sizeof( long long int ) = ";
|
|
|
|
cUSART << arrBuffer.data();
|
2016-05-19 21:43:10 +02:00
|
|
|
|
2016-05-21 19:11:04 +02:00
|
|
|
sprintf( arrBuffer.data(), "%d\r\n", sizeof( unsigned long long int ) );
|
2016-05-21 20:39:37 +02:00
|
|
|
cUSART << "sizeof( unsigned long long int ) = ";
|
|
|
|
cUSART << arrBuffer.data();
|
2016-05-19 21:43:10 +02:00
|
|
|
|
2016-05-21 19:11:04 +02:00
|
|
|
sprintf( arrBuffer.data(), "%d\r\n", sizeof( float ) );
|
2016-05-21 20:39:37 +02:00
|
|
|
cUSART << "sizeof( float ) = ";
|
|
|
|
cUSART << arrBuffer.data();
|
2016-05-20 17:02:23 +02:00
|
|
|
|
2016-05-21 19:11:04 +02:00
|
|
|
sprintf( arrBuffer.data(), "%d\r\n", sizeof( double ) );
|
2016-05-21 20:39:37 +02:00
|
|
|
cUSART << "sizeof( double ) = ";
|
|
|
|
cUSART << arrBuffer.data();
|
2016-05-20 17:02:23 +02:00
|
|
|
|
2016-05-21 19:11:04 +02:00
|
|
|
sprintf( arrBuffer.data(), "%d\r\n", sizeof( long double ) );
|
2016-05-21 20:39:37 +02:00
|
|
|
cUSART << "sizeof( long double ) = ";
|
|
|
|
cUSART << arrBuffer.data();
|
2016-05-20 17:02:23 +02:00
|
|
|
|
2016-05-21 19:11:04 +02:00
|
|
|
sprintf( arrBuffer.data(), "%d\r\n\r\n", sizeof( void* ) );
|
2016-05-21 20:39:37 +02:00
|
|
|
cUSART << "sizeof( void* ) = ";
|
|
|
|
cUSART << arrBuffer.data();
|
2016-05-20 17:02:23 +02:00
|
|
|
|
|
|
|
while( true )
|
|
|
|
{
|
2016-05-21 19:11:04 +02:00
|
|
|
sprintf( arrBuffer.data(), "%lu", ui32Counter++ );
|
2016-05-21 20:39:37 +02:00
|
|
|
cUSART << "This has been running for \"";
|
|
|
|
cUSART << arrBuffer.data();
|
|
|
|
cUSART << "\" seconds!\r\n";
|
2016-05-19 22:59:22 +02:00
|
|
|
|
2016-05-21 19:11:04 +02:00
|
|
|
if( !cUSART.receiveLine( arrBuffer.data(), arrBuffer.size(), "\r" ) )
|
2016-05-20 17:02:23 +02:00
|
|
|
{
|
2016-05-21 20:39:37 +02:00
|
|
|
cUSART << "Receive error: ";
|
2016-05-20 17:02:23 +02:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2016-05-21 20:39:37 +02:00
|
|
|
cUSART << "Echo: ";
|
2016-05-20 17:02:23 +02:00
|
|
|
}
|
|
|
|
|
2016-05-21 20:39:37 +02:00
|
|
|
cUSART << arrBuffer.data();
|
|
|
|
cUSART << "\r\n";
|
2016-05-20 15:51:01 +02:00
|
|
|
|
2016-05-20 22:27:57 +02:00
|
|
|
uint8_t ui8Byte;
|
|
|
|
|
|
|
|
if( cUSART.receiveByte( ui8Byte, 1000 ) )
|
|
|
|
{
|
|
|
|
cUSART.transmitByte( ui8Byte );
|
2016-05-21 20:39:37 +02:00
|
|
|
cUSART << "\r\n";
|
2016-05-20 22:27:57 +02:00
|
|
|
}
|
2016-05-19 21:43:10 +02:00
|
|
|
}
|
2016-05-20 15:51:01 +02:00
|
|
|
|
2016-05-19 21:43:10 +02:00
|
|
|
return 0;
|
2016-05-20 15:55:19 +02:00
|
|
|
}
|