Прерывания на Attiny13
- Войдите на сайт для отправки комментариев
Сб, 23/06/2018 - 02:06
Здравствуйте!
Пожалуйста, подскажите, как настроить прерывания. Смысл такой: отслеживаю наличие или отсутствие напряжения на двух линиях 220В с помощью подключенных к этим линиям оптронов. Сигналы с оптронов приходят на входы PB2 и PB3 ATtiny13. Естественно, имеем на входах Тиньки импульсы 50Гц. Считаем время между импульсами - если оно больше, к примеру, 50мс, значит, напряжения на линии нет. Как-то так.
Так вот суть вопроса: импульсы с двух линий 220В (если они вуключены), естественно, приходят на два входа Тиньки одновременно. Как понять, что включены две линии, а не одна? И как различать, включена первая линия или вторая в настоящий момент?
/sites/default/files/u23385/screenshot_at_iyunya_23_01-02-58.png
Посмотреть уровни сигнала на линиях?
В смысле - просто в цикле отслеживать уровни сигналов на входах PB2 и PB3, не используя прерывания? Или что имеется ввиду?
Читай про PCINT. На все прерывания PCINT только один обработчик. При срабатывании прерывания в обработчике нужно считывать каждый пин PCINT для проверки его уровня (HIGH или LOW). Тогда и узнаешь, на какой именно пин пришел импульс (или сразу на оба).
Понял примерно, спасибо.