Pull to refresh

Comments 3

Преложенный avn вариант реализации счета времени имеет право на жизнь в небольших программах, когда основной задачей является счет времени
Почему так? Предложенный мною счетчик не требует много машинных тактов для своей работы. Более того, прерывание происходит раз в 100 микросекунд. Конечно, для некоторых программ это неприемлемо. Но я бы не сказал, что это приемлемо ТОЛЬКО для небольших программ с задачей считать время.
Про минусы Вашего варианта я бы добавил нередкую ситуацию, когда таймер «запаздывает» — возможна ситуация, когда во временной delta уже не ноль, а где-то я использую постоянную delta и считаю, что время еще не прошло.
Как я написал в комментариях к своему топику — для совсем уж критичных и точных приложений лучше поставить внешний таймер — пусть даже банальный n-разрядный счетчик, тактируемый высокоточным кварцевым генератором. И он не будет зависеть ни от чего
avn, предложенный Вами вариант используется в подавляющем большинстве случаев.
Предложенный мною вариант мне пришлось применять в условиях крайней нехватки ресурсов выбранного микроконтроллера ADuC832 (16МГц на PLL, «быстрые» команды выполняются за 12 тактов PLL).

Да, мой вариант не подходит для точной синхронизации с внешними устройствами.

>> возможна ситуация, когда во временной delta уже не ноль, а где-то я использую постоянную delta_ и считаю, что время еще не прошло.
Переменную delta предполагается использовать один раз — в начале или в конце главного цикла программы
Sign up to leave a comment.

Articles