#include <avr/io.h>
#include <avr/interrupt.h>
int toggle = 0;
int main() {
DDRD |= _BV(PD5); // watchdog init
DDRB |= _BV(PB4) | _BV(PB5);
PORTB |= _BV(PB4) | _BV(PB5);
cli();
EICRA = 0x00;
EICRB = _BV(ISC40)|_BV(ISC41);// INT4: rising edge
EIMSK = _BV(INT4); // enable INT4
sei();
for (;;) {
PORTD |= _BV(PD5); // watchdog reset
PORTD &= ~_BV(PD5); // watchdog reset
if (toggle == 0) {
PORTB |= _BV(PB4);
}
else {
PORTB &= ~_BV(PB4);
}
}
return 0;
}
ISR(INT4_vect) {
if (toggle == 0) {
toggle = 1;
}
else {
toggle = 0;
}
}
AVR_INT.zip_Write On
版权申诉
132 浏览量
2022-09-20
17:42:25
上传
评论
收藏 43KB ZIP 举报
alvarocfc
- 粉丝: 105
- 资源: 1万+