Здравствуйте уважаемые.
Вот и подошел я к изучению прерываний.
Значит задача такая, у меня есть синхро-импульс CLOCK и линия DATA. Обе линии установлены в лог.1. Когда идет пакет данных, CLOCK начинает падать с 1 на 0 и с 0 на 1 и т.д.
По линии DATA начинают идти данные, суть в том что когда CLOCK принимает лог.0 мне нужно считать состоянии линии DATA. Вот в прочем и все.
Почитав литературу и даташиты. Настроил свою тиньку так
Код
GIMSK=0x20;
MCUCR=0x00;
PCMSK=0x20; // Тут я установил порт PB5/PCINT5, это у меня CLOCK
EIFR=0x20;
Так вот про INT0-1 все понятно, ими можно крутить как угодно, можно ли и с PCINT сделать, что бы обработчик срабатывал, когда лог.0., как я понял, сейчас он у меня срабатывает при каждом перепаде, т.е. когда с 1 на 0 он срабатывает и когда с 0 на 1 тоже срабатывает (кстати так ли это?).
Ещё я не могу найти, что такое void pin_change_isr0 (void) и void pin_change_isr1(void), можете рассказать или сказать где про это можно почитать.
Да и вот последний вопрос. Когда при отладке курсор в любой функции попадает на delay_ms, программа перезапускается. Почему это происходит и как это можно исправить.