[an error occurred while processing this directive]
Потому что прерываниями меряют малые задержки только в детском саду
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено =AVR= 10 апреля 2006 г. 11:34
В ответ на: А почему 125 нс ведь он в прерывание входит за 4 машинных цикла отправлено ilychoff 10 апреля 2006 г. 10:27

Для этого есть Capture - таймер крутится без остановки, к нему подключен входами регистр Capture. При поступлении фронта (или спада) на вход Capture значение таймера МГНОВЕННО запоминается в регистре, и выставляется флаг прерывания. Для измерения длительности импульса (например, от положительного до отрицательного фронта) нужно сделать простую и понятную последовательность действий:

1. Настроить Capture на положительный фронт
2. По прерыванию скопировать содержимое регистра Capture в переменную A и перестроить Capture на отрицательный фронт
3. По прерыванию вычислить время T = (Capture - A) и перестроить Capture обратно на положительный фронт. Следующий цикл опять начнется в пункте 2


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru