ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
5 мая
1429512 Топик полностью
ar-elec (24.04.2024 16:45, просмотров: 77) ответил Zoro на 1) "заворот кишок" не анализируется (переход с 99 на 3)
Если я правильно понял, речь в 1 про то, что cnt_old, допустим, уже близко к максимуму, а cnt уже перебежало через него и стало опять маленьким? 

так это отработается нормально в вычислении разности в uint32 в строке int32_t d_cnt = cnt - cnt_old. По условию задачи процедура вызывается часто, таймер не успевает даже тысячной части своего диапазона пробежать за это время.

По 2: а что есть атомарность применимо к данному случаю? Я знаю только вариант запомнить статус прерываний-запретить прерывания-проделать вычисления-вернуть статус.