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

 
 
> Инициализация Таймер1 в режим Input Capture на Mega8, Инициализация Таймер1 в режим Input Capture на Mega8
DmSk
сообщение Jul 24 2009, 06:29
Сообщение #1





Группа: Участник
Сообщений: 12
Регистрация: 24-07-09
Из: Барнаул
Пользователь №: 51 518



Инициализация Таймер1 в режим Input Capture на Mega8
Как правильно сконфигурировать таймер 1 чтобы он работал в режиме захвата,
а при захвате счетчик сбрасывался в 0 и вызывалось прервание. Также при переполнении счетчика должно быть прерывание.

На данный момент в симуляторе инициировал следующим образом:
; Инициализация таймера
.equ DIVIDER=64 ;
ldi R16, (1<<ICNC1)|(1<<ICES1)|(0<<CS12)|(1<<CS11)|(1<<CS10)|(1<<WGM13)|(1<<WGM12)
out TCCR1B, R16

ldi R16, 0
out TCCR1A, R16

ldi R16, (1<<TICIE1)
out TIMSK, R16

sei
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Палыч
сообщение Jul 24 2009, 08:08
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(DmSk @ Jul 24 2009, 09:29) *
Как правильно сконфигурировать таймер 1 чтобы он работал в режиме захвата, а при захвате счетчик сбрасывался в 0 и вызывалось прервание. Также при переполнении счетчика должно быть прерывание.
Ну, Вы и закрутили с режимом таймера... Поскольку Вы используете mode 12 (наверное для сброса в ноль счетчика при захвате), то счетчик будет считать до значения ICR1. Значение ICR1 нужно выставлять при инициализации (по сбросу там будет 0). Но, как только произайдет захват, то значение ICR1 изменится! Имхо, с таким режимом можно сойти с ума.
Не лучше ли поставить счетчик в mode 0, включить прерывание по Input Capture и по переполнению и вычислять интервалы по двум значениям (предыдущему и текущему) ICR1 и числу переполнений счетчика между ними? Я бы так и делал.
Go to the top of the page
 
+Quote Post



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

 


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


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