входит в прерывание не по условию,что за фигня ?
- Войдите на сайт для отправки комментариев
Чт, 03/11/2016 - 17:41
atmega328p
attachInterrupt(0,sens,FALLING);
заходит в обработчик всегда если на входе +5v
в коде есть delay и Serial.print
Они как-то влияют на флаги ?
У меня такое ощущение что где-то происходит сброс флагов прерывания,а потом вновь считывание и установка.
void setup() { Serial.begin(9600); DDRB=B00100000; DDRC=B00001111; PORTC=255; attachInterrupt(0,sens,FALLING); //подключить прерывание на 2 пин при повышении сигнала } // the loop routine runs over and over again forever: void loop() { if (razn<10000)start=0; else start=1 ; if (start) { timeout=micros(); // if ((timeout-vrema) > 20000000) razn=100000000; delay(1000); // wait for a second Serial.print("micrs: "); ..... void sens() { razn=(micros()-vrema); //расчет vrema =(micros()); start=1 ; }