请问大家一个问题,还望不吝赐教,感激不尽,谢谢!:handshake
我做INT1外部中断实验的时候,PD3口接轻触开关,如图:
触发方式选择的是上升沿触发
MCUCR|=0x0C;
GICR|=BIT(7);
但是,仿真测试的时候,并没有一开始先进入主函数的循环,而是一上电就触发了中断,进行了一次中断中的循环,之后才正常运行。
难道测是单片机上电后,各引脚都有一个由低到高的电平变化,导致INT1引脚发生了由低到高的跳变电平,从而触发了一次我的中断服务程序,然后进入了正常运行状态?
不过,我初始化的时候,已经将INT1引脚强制拉为低电平了,怎么还会出现这种状况呢?
初始化的时候,PD3做输入,等待采集高电平信号,并赋值低电位
DDRD&=~BIT(3);
PORTD=0;
这样也不行吗?
为此,我纠结了一下,无果,希望大家帮我解答一下,O(∩_∩)O谢谢啦...
|