在看待机唤醒的例程的时候,
u8 Check_WKUP(void)
{
u8 t=0; //记录按下的时间
LED0=0; //亮灯DS0
while(1)
{
if(WKUP_KD)
{
t++; //已经按下了
delay_ms(30);
if(t>=100) //按下超过3秒钟
{
LED0=0; //点亮DS0
return 1; //按下3s以上了
}
}else
{
LED0=1;
return 0; //按下不足3秒
}
}
}
所标注部分是怎么用t实现计时3s的啊?不是延迟了30ms吗,怎么变成3s的?
是要计算这个循环的执行时间吗?如果是的话又是怎么计算循环执行时间的呢?
因为是初学者,有很多简单问题还不太明白,在网上找了找也没有找到,希望大家不要嫌弃
感谢各位的解答!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
如果代码没问题的话你先下载个跑马灯的例程进去,然后再烧写唤醒实验看看是哪里不正常,如果判定是代码问题的话,再把代码贴出来
>.<本来是一直在待机状态没办法唤醒
所以st仿真没办法进行,我以为没办法下载例程了,
现在发现直接下到板子里一个例程就可以了
已经解决啦,
非常感谢你
一周热门 更多>