tayanov
New member
Доброго дня. помогите разобраться. Обрабатываю прерывания.
Проблема в том что после первой обработки прерывания на последующие esp не реагирует.
Т.е. в мониторе после замыкания контактов изменения происходят единожды.
Облегченный код прилагаю.
(мне нужно посчитать количество прерываний по двум каналам.)
Проблема в том что после первой обработки прерывания на последующие esp не реагирует.
Т.е. в мониторе после замыкания контактов изменения происходят единожды.
Облегченный код прилагаю.
(мне нужно посчитать количество прерываний по двум каналам.)
Код:
const int Pin = 12;
const int Pin2 = 13;
volatile int state0 = 0;
volatile int state2 = 0;
void setup() {
delay(3000);
Serial.begin(115200);
pinMode(0, INPUT_PULLUP);
pinMode(2, INPUT_PULLUP);
attachInterrupt(Pin, coldimpulse, FALLING);
attachInterrupt(Pin2, hotimpulse, FALLING);
delay(50);
Serial.println("Start");
Serial.println();
Serial.println("Start to work");
}
void coldimpulse() {
Serial.println(".");
Serial.println("Cold Interrupt");
state0 =state0+1;
pinMode(0, INPUT_PULLUP);
}
void hotimpulse() {
Serial.println(".");
Serial.println("Hot Interrupt");
state2 =state2+1;
pinMode(2, INPUT_PULLUP);
}
void loop() {
Serial.print(".");
Serial.print("cold-");
Serial.print(state0);
Serial.println("");
Serial.print("hot-");
Serial.print(state2);
delay(400);
}
// функция положить холодный
void putcold()
{
Serial.print("putcold procedure");
}
// функция положить горячий
void puthot()
{
Serial.print("puthot procedure");
}