Как сравнить цифровой сигнал ?

Обсуждаем контроллеры компании Atmel.
Ответить
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

Сообщение NStorm »

[uquote="prw07",url="/forum/viewtopic.php?p=3729992#p3729992"]Это в основной программе или в обработчике прерывания ?[/uquote]
Можно и в обработчике. Считать бит с порта и сделать сдвиг на один вполне себе в прерывании.

[uquote="prw07",url="/forum/viewtopic.php?p=3729992#p3729992"]использовать безусловный переход для выхода из прерывания ? :shock:[/uquote]
Бросайте мыслить критериями ассемблера в описании алгоритма. ) "идем назад на шаг 2" - просто описание порядка логики работы программы, а вовсе не точное руководство к переходу. Если писать на сях такое, то как правило в виде конечного автомата. И "идем назад на шаг 2" обычно просто значит установку переменной, описывающей текущее состоянии автомата.

[uquote="prw07",url="/forum/viewtopic.php?p=3729992#p3729992"]И еще...зачем флаг сработки по фронту или спаду, если можно проверять состояние регистра MCUCR? Если 0b00000011 то по фронту, если 0b00000010 то по спаду.[/uquote]
Можно и так. Но тогда придется заводить некий флаг, где отмечать, какой фронт мы "ловим" в данный момент.
Реклама
Ответить

Вернуться в «AVR»