发布网友 发布时间:2022-04-23 14:54
共3个回答
热心网友 时间:2023-10-03 06:24
keyflag应该是判断某个按键按了几次,不安的时候为0
if(KeyFlag == 0)
{
}
按一次时执行
else if(KeyFlag == 1)
{
if(BUTTON_add == 0 && KeyLock ==0)
{
}
if(BUTTON_rece == 0 && KeyLock ==0)
{
}
按二次时执行
else if(KeyFlag == 2){
if(BUTTON_add == 0 && KeyLock ==0)
{
}
if(BUTTON_rece == 0 && KeyLock ==0)
{
}
一楼正解,主要按键扩展标志是用来节省资源的,用最少的按键实现最多的功能!
热心网友 时间:2023-10-03 06:25
if(keypress==true)检测有键按下
{delay_us(50); 延迟50us,软件滤波防抖动
if(keypress==true) 检测有键被按下
key_value=P1;提取键值
{switch(key_value) 识别是那个键被按下了
case 0x01: XXX;break;
case 0x02:XXX;BREAK;进入对应工步或者动作即可。
......
}
}
}追问您好,能帮我分析下下面的程序按键的过程吗,主要按键扩展标志起什么样子?由于输入字体有限,我删除了部分程序。
if(KeyFlag == 0)
{
}
else if(KeyFlag == 1)
{
if(BUTTON_add == 0 && KeyLock ==0)
{
}
if(BUTTON_rece == 0 && KeyLock ==0)
{
}
else if(KeyFlag == 2){
if(BUTTON_add == 0 && KeyLock ==0)
{
}
if(BUTTON_rece == 0 && KeyLock ==0)
{
}
追答标志扩展的目的就是增加在不同情况下,使用少量的键盘,得到多功能的组合之效果而已,比如您的程序,如果使用KeyFlag作为标志,如果因为某种情况可以改变这个标志值,则不同的标志值下,加键与锁定键就可以实现不同的功能啊。
if(KeyFlag == 0) 这个的意思是,如果没有键盘按下,则不动作
{
}
else if(KeyFlag == 1)否则如果有按键按下,且标志为1时
{
if(BUTTON_add == 0 && KeyLock ==0) 如果按键+与锁定按键同时按下时,进行{}中的处理。
{
}
if(BUTTON_rece == 0 && KeyLock ==0)如果按键-减与锁定键同时按下时,则处理()中。。。
{
}
else if(KeyFlag == 2){
if(BUTTON_add == 0 && KeyLock ==0)
{
}
if(BUTTON_rece == 0 && KeyLock ==0)
{
热心网友 时间:2023-10-03 06:25
你把程序具体部分都删除了,只剩下个框架 分析什么啊