算法精妙,赞!!!
不过对于IO中断采集按键的处理,一般在中断中采集键值,在主程序中进行按键处理, 若直接这样应用是否会有丢失按键的情况?
另外4楼程序中有个BUG:
if (Cont & KEY_PLUS) // 如果“加”按键被按着不放
{
cnt_plus++; // 计时
if (cnt_plus > 100) // 20ms*100 = 2S 如果时间到
{
Func(); // 你需要的执行的程序
}
}
这段后应加一句: else {cnt_plus = 0;} 否则多次按加键累积时长,会触发长按键处理。 |
|