Mcucpp

Форк
0
/
timers.cpp 
34 строки · 1.2 Кб
1
#include <iostream>
2
#include <gtest/gtest.h>
3
#include <cmath>
4
#include <timers.h>
5
#include <timer_utils.h>
6

7
using namespace Mcucpp;
8
using namespace Timers;
9
using namespace std;
10

11
TEST(TimerTests, TimerSetupTest)
12
{
13
	// FIXME: compiler error 
14
 	const unsigned units=1;
15
	const unsigned freq=12345;
16
	const unsigned fcpu=16000000;
17

18
	typedef TimerFreqSetup<Timer1, freq*units, fcpu*units> TimerSetup1;
19

20
    cout << "TimerSetup1::dividerValue == " << TimerSetup1::dividerValue << endl;
21
    cout << "TimerSetup1::reloadValue == " << (int)TimerSetup1::reloadValue << endl;
22
    cout << "TimerSetup1::tickFreq == " << TimerSetup1::tickFreq << endl;
23
	cout << "TimerSetup1::realFreq == " << TimerSetup1::realFreq << endl;
24
	cout << "TimerSetup1::error == " << TimerSetup1::error << endl;
25

26
	double realFreq = (double)fcpu / TimerSetup1::dividerValue / (Timer1::MaxValue - TimerSetup1::reloadValue);
27
	cout << "realFreq == " << realFreq << endl;
28
	double realError = abs(realFreq - freq);
29
	cout << "realError == " << realError << endl;
30

31
	EXPECT_LE(realError, (double)TimerSetup1::error / units + 1);
32
	const unsigned cRealFreq=TimerSetup1::realFreq / units;
33
	EXPECT_EQ((unsigned)realFreq, cRealFreq ); 
34
}
35

36

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

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

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

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