Прерывания...с чего начать?
- Войдите на сайт для отправки комментариев
Не могу никак подружиться с прерываниями. Вроде какие то куски кода нарыл, корифеев и мануалы покурил...
Но в итоге IDE упорно ругается то функция прерывания не так обьявлена, то TCCR0 was not declared, где я его должен декларировать??? По ходу с дефайнсами и инклюидами у меня полное непонимание......
Вощем люди добрые, если кому нетрудно напишите кусок кода:
Прерывание по переполнению таймера, желательно Т2 (он вроде в arduine ни в delly ни в millis не задействован),хотя если будет для Т0 или Т1 не страшно.
Чтоб прерывание вызывало функцию, например увеличивающюю с каждым циклом(прерванием) некую переменную , ну что то типа:
"ISR (TIMER0_OVF_vect) { Svet0++ ; }// При каждом переполнении счётного регистра увеличиваем счётчик на единицу.
Ну и если сразу допишите Blink 13 будет очень поучительно.
Все #include и #define по возможности в один файл с основным скетчем, чтоб было видно, что и откуда берется и где обьявляется.
Чтоб было понятно что писать в void setup(), а что в void loop()
Чтоб скетч был именно для IDE Arduino , а не Visualstudio там всякие или кодевижны, чтоб загрузил, хрясь и вот оно щастье - мигает диод.
Кажется код буквально из нескольких строчек должен состоять, но мне вот не дается...
Думаю, что человек произведший скетч, по данному техзаданию прославит себя в веках, по крайней мере в глазах чайников.
Начние с простого- например уход в обработчик прерывания по нажатию кнопки, заведенной на ( 2 для уны) вход ( прерывания) и свершение в этом обработчике уникального для программы события. Попробуйте разные режимы отлова прерывания. Поймите, как сопоставляются время оновного цикла и обработчика.
Таймеры несколько посложнее...попробуйте поиграться с библиотекой http://playground.arduino.cc/code/timer1
там есть attachInterrupt(function, period) , мне кажется это то, что Вы ищете
Спасибо, попробую поковырять библиотЭку. Ну а варианты типа настроить таймер-счетчики через регистры управления таймерами, задать время цикла.... Подобные варианты вроде бы более наглядны:
или
Но вот как заставить все это работать в IDE. Меня сбивают в первую очередь инклюиды , непонятно какие файлы надо присоединять в случае с IDE Arduino и где эти файлы находятся.