реклама на сайте
подробности

 
 
> Менеджер прерываний, Как проще сделать?
ivainc1789
сообщение Sep 7 2007, 10:41
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 175
Регистрация: 5-01-05
Пользователь №: 1 807



В задаче на ATmega16 есть необходимость посчитать кол-во импульсов на пине T1 за калиброванный интервал времени. Для этого организуется таймер1 как 24р. счетчик импульсов и необходимо сделать калиброванный интервал времени. Есть два подхода:
1. Сделать интервал без дополнительных ресурсов, запретив все прерывания и разрешив только от таймера 1 для инкремента 8р. старшего байта 24р. таймера по его переполнению.
2. Использовать другой таймер для "изготовления" калиброванного интервала.
3. Ваш вариант.

Интерес пока представляет первый вариант. ИМХО, в AVR очень тяжело запретить на небольшое время все прерывания, разрешив некоторые. Нужно мудрить некий менеджер прерываний, для чего вручную: сохранять статус текущих, потом все запрещать, потом разрешать необходимые. Все это как-то коряво и долго... Есть ли более простой подход для решения задачи?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 15:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.01491 секунд с 7
ELECTRONIX ©2004-2016