我不知道按下开关时如何消除小振荡的影响。我有一个原始开关和一个 LED,我试图创建一个中断,使 LED 在按下开关时闪烁。我这样做的方式是在输入信号的下降沿触发中断。
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
ISR(INT0_vect){
PORTD ^= 1;
}
int main(void)
{
DDRD = 1;//we set for input D port
PORTD |= 1<<2;//pull-up for interrupt pin
EICRA &= ~3;//clear EICRA and activate INT0 on LOW
EICRA |= 2;//activate INT0 on falling edge
SREG |= 1<<7;//I bit from SREG has to be enabled
EIMSK |= 1;//enable INT0
while (1)
{
EIFR |= 1;//I've tried to clear the corresponding flag, but in vain
}
}