ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 июля
122972 Топик полностью
Alex B. (14.06.2008 02:53, просмотров: 168) ответил Evgeny_CD на Техника точных засечек времени в малоразрядных системах. Вроде сложилось.
опять сущности умножаете... а кто вам сказал, что прерывание не произойдет между: 1) читаем эту переменную timer_limit, и читаем таймер 2) проверкой таймера на timer_limit и прочиткой U32 из системной области Если таймер >= timer_limit, то системная переменная пока не валидна, и надо подождать, пока не изменится timer_limit. Как только она изменилась - все, прерывание отработало, можно "идти" за системной переменной U32. ну и где это ждать, а? Вообще тема как организовывать аппаратно-программный таймер тут поднималась и не один раз. Самый тупой способ - запрет прерываний при чтении "софтовой части таймера" никак не повлияет на "высокую равномерность его работы". Да, значение таймера будет на такт отличаться от валидного, да и фиг с ним. Опять же - ну нахера вам таймер с периодом в год и точностью в системный тик? Если это короткий процесс, то для измерения его длительности хватит и короткого аппаратного таймера (в современных контроллерах остались еще 8-битный таймеры? ущипните себя...). Если это длительный процесс (минута-две) - да клал я с пробором на эти микросекунды, никакой погоды они там не делают. Тем более, что 16-битный таймер такой процесс покроет на указанных вами частотах. Кроме того - разве еще остались контроллеры с таймерами у которых нет предделителей? да что вы, не может быть... В общем надуманная проблема
Согласуйте импеданс!