Прерывание завешивает скетч

rene
Offline
Зарегистрирован: 21.01.2014

Доброго времени суток!

Взял стандартный скетч из примера Web server. Добавил в setup прерывание attachInterrupt(0, _Induction, CHANGE);, добавил функцию void _Induction(){Serial.println("interrupt");}

...
  Serial.print("server is at ");
  Serial.println(Ethernet.localIP());
  attachInterrupt(0, _Induction, CHANGE); // привязываем 2-е прерывание к функции _Induction()
}

void _Induction(){Serial.println("interrupt");}

void loop() {
  // listen for incoming clients
  EthernetClient client = server.available();
...

так вот, если прерывание срабатывает в момент считывания данных с клиента программа завешивается. Мое прерывание по сути ничего не делает, кроме вывода сообщения, почему завешивается программа?

kisoft
kisoft аватар
Offline
Зарегистрирован: 13.11.2012

Меняйте состояние цифрового пина в прерывании, чтобы понять, что оно срабатывает. Сериал в прерываниях - плохая практика. http://arduino.ru/Reference/AttachInterrupt