Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Как получить в атмеге прерывание с периодом более 20 мС?
Отправлено
Dikoy 28 апреля 2009, г. 15:38
AT90USB1287 (по таймерам копия атмеги 128). Кварц 16 МГц. Вачдог занят. оба 16-и битных таймера 1 и 3 тоже заняты.
Если юзать таймер 0 (или 2), восьмибитный, по переполнению, то получается максимум получить частоту срабатывания прерываний 61 Гц, то есть 16 мС. А мне бы желательно 30-40 мС.
Нужно для фиксирования пропадания импульсов на входе.
Конечно, можно смириться и с 16 мС, но хотелось бы максимально разгрузить МК от прерываний. То есть второстепенные прерывания сделать максимально редкими.
Может кто знает хитрый способ добавить ещё одно деление на 2 для восьмибитников? Или что-то другое?
Составить ответ | Вернуться на конференцию.
Ответы
- а почему столько таймеров асинхронно работает? может повесить на один, но синхронно и при помощи флагов рулить? счетчик при этом легко прикручивается - werewolf (28.04.2009, 17:18:55 192.168.3.145,81.90.231.113, пустое)
- Прерывание с периодом 1 мс. В обработчике прерываний счетчики... - POV (28.04.2009, 15:44:59 213.137.239.62, 434 байт)
- Да проще так: - Dikoy (28.04.2009, 15:57:13 10.210.7.31,83.149.43.4, 229 байт)
- От УСАРТа не хватает что ли? - Quasy (28.04.2009, 15:43:47 192.168.0.207,80.243.9.34, пустое)
- Прерывание с периодом 1 мс. В обработчике прерываний счетчики... - POV (28.04.2009, 15:42:54 213.137.239.62, 414 байт)
- Ну наверное придется процессор менять. Регистр счета остаток к примеру записывать если менять процессор не хотите. - PeterD (28.04.2009, 15:42:24 89.232.124.84, пустое)