试试下面的代码
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/wdt.h> // 添加看门狗控制头文件
int main(void) {
wdt_disable(); // 关键!禁用看门狗防止复位
DDRB = 0x80; // PB7输出,其他输入
PORTB = 0x00; // 初始低电平
EICRA = 0x02; // INT0下降沿触发
EIMSK = 0x01; // 使能INT0中断
sei();
while(1) { __asm__ __volatile__("nop"); } // 避免空循环优化
}
ISR(INT0_vect) {
PORTB ^= (1 << PB7); // 仅翻转PB7,避免副作用
}
|