Mcucpp

Форк
0
55 строк · 959.0 Байт
1

2
#include <iopins.h>
3
#include <usart.h>
4
#include <watchdog.h>
5
#include <flash_crc_check.h>
6
#include <tiny_ostream.h>
7
#include <delay.h>
8
using namespace Mcucpp;
9
using namespace Mcucpp::IO;
10

11
class DebugOut
12
{
13
	public:
14
	void put(char c)
15
	{
16
		if(c == '\n')
17
		{
18
			Usart1::Write('\r');
19
		}
20
		Usart1::Write(c);
21
	}
22
};
23

24
typedef basic_ostream<DebugOut> ostream;
25
ostream cout;
26

27
typedef Pg13 Led;
28

29
int main()
30
{
31
	Watchdog::Start(1000);
32
	Porta::Enable();
33
	Led::SetConfiguration(Led::Port::Out);
34
	
35
	if(FlashCrcExpected() != FlashCrcComputed())
36
	{
37
		while(true) // cause watchdog to reset MCU after 1 sec
38
		{
39
			Led::Toggle();
40
			delay_ms<50, F_CPU>();
41
		}
42
	}
43
	
44
	Usart1::Init(9600);
45
	Usart1::SelectTxRxPins(0, 0);
46

47
	cout << hex << "FlashCrcExpected=" << FlashCrcExpected() << ", FlashCrcComputed=" << FlashCrcComputed();
48

49
	while(1)
50
	{
51
		Led::Toggle();
52
		delay_ms<200, F_CPU>();
53
		Watchdog::Reset();
54
	}
55
	return 0;
56
}
57

58

59

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.