Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
// создаем новый таймер обратного отсчета с заданием ему начального значения 100 мсек
Int8U caltimer = TIMER_NewCountDown(100);
// проверяем, что таймер еще не истек
while (TIMER_GetCountDown(caltimer) > 0)
{
// тут можем делать что-то пока ждем истечения таймера
}
// тут делаем что-то после истечения таймера
...
// заводим этот же таймер заново на 500 мсек
TIMER_SetCountDown(caltimer, 500);
...
...
// уничтожаем таймер когда необходимость в нем отпала
TIMER_DeleteCountDown(caltimer);
void TIMER_Config();
void TIMER_Enable();
void TIMER_Disable();
Int32U TIMER_GetTicks();
Int32U TIMER_GetMSeconds();
Int32U TIMER_GetSeconds();
// Start new countdown timer with starting value -msecs- and return timer number
Int8U TIMER_NewCountDown(Int32U msecs);
// Stop and delete countdown timer by its number -timer-
void TIMER_DeleteCountDown(Int8U timer);
// Return remain value countdown timer by its number -timer-
Int32U TIMER_GetCountDown(Int8U timer);
// Set new value in countdown timer by its number -timer-
void TIMER_SetCountDown(Int8U timer, Int32U msecs);
Так тут нет кэлбэков, я вообще очень редко прибегаю к ним :)
Калбэки, конечно, один из самых эффективных и наименее затратных методов организации кода, но уж очень сложны в написании и отладке.
Хотите сказать что под FreeRTOS с ее миллисекундным квантом планировщика получится отследить ее таймауты в 1,5 (межсимвольный) и 3,5 (межпакетный) символы?Не работал с ней, но там точно нельзя сделать квант времени меньше (да, производительность несколько упадёт) или вообще прикрутить сбоку ловлю интервалов модбаса?
полная асинхронщина без проверок флагов в карусели
контроллер не был монстром, а именно...
… и не провтыкать тайминг ...
там точно нельзя сделать квант времени меньше… ?
Что до языков высокого уровня и возможности реюзать чужой код… Простите, или трусы, или крестик. Или высокий уровень и чужой код, или низкой уровень и энергоэффективность, быстродействие, размер. Желаете попробовать переубедить меня в этим? Ну попробуйте… Пока ни у кого не получилось.
А мерить работу усталостью считаю недостойным.
Есть, конечно, шанс, что вы гений от программирования
Счётчик DWT