本人菜鸟,F767学到待机唤醒这一节,下完标准程序后,运行正常。但是自己留意到了,只要按KEY UP键,DS0就亮,与我想的不一样,我觉得应该是,按3秒以上亮。后来我将 t>=100,改为t>=500,(只改了这一处),下载运行后,悲催了,按KEY UP 键无法退出待机模式,多久都不行,按说 不是15秒吗?程序如下:
u8 Check_WKUP(void)
{
u8 t=0;
u8 tx=0;//记录松开的次数
LED0(0); //亮灯DS0
while(1)
{
if(WKUP_KD)//已经按下了
{
t++;
tx=0;
}else
{
tx++;
if(tx>3)//超过90ms内没有WKUP信号
{
LED0(1);
return 0;//错误的按键,按下次数不够
}
}
delay_ms(30);
if(t>=100)//按下超过3秒钟
{
LED0(0); //点亮DS0
return 1; //按下3s以上了
}
}
}
现在是程序下不了,仿真也不行,如何退出待机模式,哪位大神可以帮小弟一下?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
因为u8最大只有255,你大于500,不是找抽么?
谢谢原子哥,自己粗心的毛病又犯了,考虑得太少了。但还有一点不明白,为什么程序刚下来,第一次运行时,按key up键DS0就亮?一开始t不是等于0吗,不应该按住3秒才亮吗?
一周热门 更多>