凹凸曼~ 2018-12-23 20:30 采纳率: 0%
浏览 4316
已结题

STM32按键程序,为什么mode==0时不支持连续按,mode==1是支持连续按呢?

u8 KEY_Scan(u8 mode)

{

        static u8 key_up=1      
        if(mode)key_up=1;           
        if(key_up&&(KEY0==0||KEY1==0||KEY2==0||WK_UP==1))

                {
                    delay_ms(10);
                    key_up=0;
                    if(KEY0==0)return KEY0_PRES;
                    else if(KEY1==0)return KEY1_PRES;
                    else if(KEY2==0)return KEY2_PRES;
                    else if(WK_UP==1)return WKUP_PRES;
                }

        else if(KEY0==1&&KEY1==1&&KEY2==1&&WK_UP==0)key_up=1; 
        return 0;

}

为什么mode==0时不支持连续按,mode==1是支持连续按呢??
大神们,麻烦你们帮忙解决一下,谢谢了


  • 写回答

2条回答 默认 最新

  • Welcome_Word 2018-12-24 04:35
    关注

    因为你mode==1时,key_up恒等于1,所以支持连续,当你mode==0时你每按一次key_up就会改变一次,所以不支持连续。如果想mode==0时支持连续那就第二句改成if(!mode)key_up=1;

    评论

报告相同问题?

悬赏问题

  • ¥15 mmocr的训练错误,结果全为0
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀