2
//volatile uint32_t status = 0xffffffff;
14
#include <tiny_ostream.h>
15
#include <tiny_iomanip.h>
18
using namespace Mcucpp;
19
using namespace Mcucpp::IO;
20
using namespace Mcucpp::Clock;
48
typedef basic_ostream<SwoOut> ostream;
52
void Hello(void *data, size_t size)
55
//Usart1::SetTxCompleteCallback(Hello);
56
Usart1::Write(data, size, true);
60
void AdcFunc(uint16_t *data, size_t size)
62
cout << "Data: " << size << " ";
63
for(int i = 0; i < size; i++)
64
cout << setw(6) << data[i];
69
uint16_t adcbuffer[16];
80
for (long i = 0; i < cycle; i++)
82
a = a + ( (TT)i / b );
84
if (a > (TT)100000000.0)
93
SysClock::SetClockFreq(168000000);
99
Led1::SetConfiguration(NativePortBase::Out);
100
Led2::SetConfiguration(NativePortBase::Out);
102
Usart1::Init(115200);
103
Usart1::SelectTxRxPins(1, 1);
104
Usart1::EnableInterrupt(Usart1::RxNotEmptyInt);
105
cout << "Hello, World!!\nSys Freq = " << SysClock::ClockFreq() << "\n";
106
cout << "Usart1 Freq = " << Usart1Clock::ClockFreq() << "\n";
107
cout << "SysTick->CALIB = " << hex << SysTick->CALIB << "\n";
110
//Usart1::SetTxCompleteCallback(Hello);
111
//Usart1::Write("Hello world!!!\r\n", 16, true);
114
//delay_ms<5000, 168000000>();
116
uint16_t data[32] = {0};
117
uint8_t ch[16] = {6,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
119
//SysTickTimer::Init(10);
120
//SysTickTimer::EnableInterrupt();
121
uint32_t start = DWT->CYCCNT;
123
uint32_t time = DWT->CYCCNT - start;
124
cout << "V = " << (float)v << " time = " << dec << time;
128
//Adc1::Start(ch, 1, data, 16, AdcFunc);
130
//for(int i = 0; i<16; i++)
131
// cout << setw(6) << data[i];
132
//cout << "Temp = " << Adc1::Read(Adc1::TempSensorChannel) << "\n";
135
delay_ms<100, 168000000>();
139
extern "C" void USART1_IRQHandler()
141
if(Usart1::ReadReady())
143
//Usart1::Write(Usart1::Read()+1);
145
Usart1::ClearInterruptFlag(Usart1::RxNotEmptyInt);
148
extern "C" void SysTick_Handler()
150
//Usart1::Write('.');