входит в прерывание не по условию,что за фигня ?
- Войдите на сайт для отправки комментариев
Чт, 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 ;
}