Перестали работать основные внешние прерывания INT на Ардуино Мега
- Войдите на сайт для отправки комментариев
Втр, 05/01/2016 - 20:33
Имеется ардуино МЕГА2560, к которой по I2C подключен дисплей 1602 на выводы меги 20,21. Далее имеются три термопары с ОУ, подключенные на А0,А1,А2, далее имеются две кнопки подключенные к А14,А15 с настроенными прерываниями PCINT(для того что бы перейти в цикл Setup), так же подключен датчик DHT11( ну я пробовал его код убирать ничего не дало), он у меня отслеживает температуру в комнате, если ниже 10градусов, то ничего не включается, в цикле Setup термопара отслеживает температуру ТЭНа каждые 5с., и так в течении 7 минут(нужно греть ТЭН при температуре 130градусов 5минут, и две минуты разогрев до этой температуры), так вот раньше когда была одна термопара всё вроде работало я имею ввиду основные внешние прерывания INT, а сейчас
внешние прерывания работают использую допустим INT0, вот только работает оно если раз 10 очень быстро дотронуться проводом +5В (прерывание по переднему фронту настроено)на INT0 так вот на 10 раз прерывание срабатывает( всё как положено притянуто резистором 10кило к общему), без термопар раньше работало прерывание INT0 и другие внешние основные с первого раза, а сейчас ни одно основное не срабатывает никто не замечал такого на меге? Мне кажеться это из - за того что используеться 3 АЦП(А0, А1,А2, и ещё два АЦП используются для других прерываний PCINTэто А14,А15), а у них приоритет прерываний выше чем у INT0 и других основных внешних прерываний.
Или просто оцифровка данных с ОУ термопар занимает всё время, и не срабатывают прерывания, но почему - то ж PCINT срабатывает, а ни одно INT нет, запрет на прерывания я не делал, всё как положенно, уже даже через регистры сделал, на меге к которой ничего не подключенно всё срабатывает
В цикле обработчика прерываний INT0 ничего не прописано, оно мне нужно для того что бы перейти в Setup и заново включать ТЭН на 7 минут один раз, а потом переходит в LOOP