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

 
 
> Время детектирования прерывания pin change
frz
сообщение Mar 21 2010, 14:06
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 212
Регистрация: 23-09-08
Из: Новосибирск
Пользователь №: 40 406



Вобщем имеется ATMega48 и необходимо детектировать короткие внешние импульсы(100-200нс). Тактовая частота 1МГц.
Вопрос в следующем: можно ли для этого использовать прерывание PCINT ? В датащите не нашёл ничего толкового - написано лишь что изменение состояния пинов детектируется асинхронно. Но всеже должно быть какое-то время детектирования, которое гарантированно приводило бы к генерации прерывания?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Александр Куличо...
сообщение Apr 20 2010, 21:38
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 6-03-06
Из: Украина, г. Винница
Пользователь №: 15 017



Цитата
Ничего не понимаю. То пишут об обновлении регистров таймера2 TCNT2, OCR2 и TCCR2, хотя нужен только TCNT2, при чём здесь остальные регистры?

Я привел все регистры таймера2, которые требуют наличия внешнего такта для обновления. И нужен будет не только TCNT2, а еще и TCCR2, так как после перехода в асинхронный режим его содержимое нужно выставить заново.

Впрочем, вот 2 цитаты из даташита, которые все объясняют:
Цитата
Warning: When switching between asynchronous and synchronous clocking of Timer/Counter2, the Timer Registers TCNT2, OCR2x, and TCCR2x might be corrupted. A safe procedure for switching clock source is:
a. Disable the Timer/Counter2 interrupts by clearing OCIE2x and TOIE2.
b. Select clock source by setting AS2 as appropriate.
c. Write new values to TCNT2, OCR2x, and TCCR2x.
d. To switch to asynchronous operation: Wait for TCN2xUB, OCR2xUB, and TCR2xUB.
e. Clear the Timer/Counter2 Interrupt Flags.
f. Enable interrupts, if needed.


Цитата
When writing to one of the registers TCNT2, OCR2x, or TCCR2x, the value is transferred to a temporary register, and latched after two positive edges on TOSC1. The user should not write a new value before the contents of the temporary register have been transferred to its destination.


Цитата
То пишут о прерываниях. Зачем там прерывания по большому счёту?

По-большому счету - не нужны. Разве чтобы не пропустить пачку из 256 импульсов.Но тогда зачем писать в него FF и ждать, когда проц отреагирует обычным образом (пост#6)?
Цитата
Задачка носит налёт академичности, поскольку один внешний триггер легко решает проблему

С этим никто и не спорит, да и автору поста она никакой пользы не несет, так как таймер у него все равно занят. Просто хочется предостеречь остальных читателей, которые, возможно, возьмут этот метод на заметку.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- frz   Время детектирования прерывания pin change   Mar 21 2010, 14:06
- - defunct   Цитата(frz @ Mar 21 2010, 16:06) Вобщем и...   Mar 22 2010, 00:27
|- - smac   Цитата(defunct @ Mar 22 2010, 03:27) Без ...   Mar 22 2010, 04:44
|- - aaarrr   Цитата(smac @ Mar 22 2010, 07:44) Вопрос ...   Mar 22 2010, 05:02
|- - defunct   Цитата(aaarrr @ Mar 22 2010, 07:02) Ничем...   Mar 22 2010, 05:16
|- - =GM=   Цитата(defunct @ Mar 22 2010, 04:16) если...   Mar 29 2010, 08:55
- - =GM=   Цитата(frz @ Mar 21 2010, 14:06) ATMega48...   Mar 26 2010, 16:18
|- - frz   Цитата(=GM= @ Mar 26 2010, 22:18) Возникл...   Apr 1 2010, 02:21
- - Александр Куличок   ЦитатаВозникла идея, как расширить короткий импуль...   Apr 4 2010, 20:13
|- - =GM=   Процесс пробуждения здесь ни при чём, необходимо д...   Apr 6 2010, 09:01
- - Александр Куличок   ЦитатаПроцесс пробуждения здесь ни при чём Это мен...   Apr 18 2010, 00:44
|- - =GM=   С чего бы?   Apr 18 2010, 19:58
|- - ILYAUL   Цитата(=GM= @ Apr 19 2010, 00:13) С чего ...   Apr 18 2010, 20:38
|- - =GM=   Ничего не понимаю. То пишут об обновлении регистро...   Apr 19 2010, 11:03
|- - ILYAUL   Цитата(=GM= @ Apr 19 2010, 15:18) Ничего ...   Apr 19 2010, 17:23
|- - =GM=   1. Там спрашивалось можно ли использовать pin chan...   Apr 20 2010, 11:18


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

 


RSS Текстовая версия Сейчас: 24th August 2025 - 13:41
Рейтинг@Mail.ru


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