本帖最后由 红烧鲫鱼 于 2018-10-24 14:31 编辑
非要给人灌输高难度的,如果状态机和定时器玩的6他就不来问这个问题了。
比如你的功能就是按键和显示两个 大循环中有显示和按键检测两个任务,大致估算下显示函数的时间为5ms。用一个for循环就能实现你的功能。
if (KEY)
{
flag=1;
display();
display();
for(i=0;i<100;i++)
{
if(KEY)
flag=2;
}
}
单击 flag=1;双击flag=2;
忘了长按的选项了,显示函数也忘了加了改下
if (KEY)
{
flag=1;
display();
display();
for(i=0;i<100;i++)
{
display();
if(KEY&&(flag==3))
falg=4,i=100;
if(KEY&&(flag<4))
flag=2;
else
flag=3;
}
}
单击flag=3 长按flag=2双击flag=4
昨天改的竟然没提交上去
|