找回密码
 立即注册
查看: 539|回复: 4

关于程序冲突的问题

[复制链接]
  • 打卡等级:常住居民I
  • 打卡总天数:75
  • 最近打卡:2025-06-30 15:00:16
已绑定手机

48

主题

98

回帖

182

积分

注册会员

积分
182
发表于 2024-3-28 15:32:09 | 显示全部楼层 |阅读模式
if(!(P11 & 0x01) && iskey11 == 0) {
Delay5ms();
iskey11 = 1;               
flag11 = 1;
keyPadData[0] |= 0x08;
}
else if((P11 & 0x01) && iskey11 == 1) {
Delay5ms();
iskey11 = 0;               
flagt = 1;
keyPadData[0] |= 0x08;
}
if(!(P17 & 0x01) && iskey17 == 0) {

Delay5ms();
iskey17 = 1;               
flag17 = 1;
keyPadData[1] |= 0x08;
}
else if((P17 & 0x01) && iskey17 == 1) {
Delay5ms();
iskey17 = 0;               
flag17t = 1;
keyPadData[1] |= 0x08;
}
问一下大佬们,这段程序正常运行是没问题的,但是如果两个按钮几乎同时按下的时候,会写入冲突导致丢失一次触发,问一下有什么方法,类似于排队触发,或者先将按键存起来怎么实现

回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2023-12-06 15:33:02

20

主题

110

回帖

771

积分

荣誉版主

积分
771
发表于 2024-3-28 16:00:17 | 显示全部楼层
外部中断
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:136
  • 最近打卡:2025-06-19 15:40:05

47

主题

1350

回帖

8058

积分

荣誉版主

冲哥视频教程和各种开源资料QQ交流群884047237,可群

积分
8058
QQ
发表于 2024-3-28 16:09:45 | 显示全部楼层
PWM硬件移相测试卡教程(一)按键点灯测试@STC8H2K12U系列
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=7023
(出处: 国芯论坛-STC全球32位8051爱好者互助交流社区)

参考这个按键的写法,非阻塞的按键就可以了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:579
  • 最近打卡:2025-07-01 07:56:05
已绑定手机

50

主题

1827

回帖

3212

积分

论坛元老

积分
3212
发表于 2024-3-28 16:29:42 | 显示全部楼层
延时耽误了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:351
  • 最近打卡:2025-06-29 00:53:31
已绑定手机

14

主题

600

回帖

2267

积分

荣誉版主

积分
2267
发表于 2024-3-29 00:31:59 | 显示全部楼层
本帖最后由 xiangzichen 于 2024-3-29 00:40 编辑

//都在一个端口上,为何不把端口读取了,然后用 && 去判断到底是哪个口?
u8 GetKey() {

u8 k_tmp = P1 & 0x81;               //读取P1口,如果有不用的口, P11 P17为按键
u8 rt = 0;

if(k_tmp) {                         //有数值,
    _delay_ms(10);                  //延时消抖
    if(k_tmp == P1) {               //再次判断,且相等
        if(~k_tmp & 0x80) {         //P17 有按下
            rt = 7;
        }
        else if(~k_tmp & 0x01) {    //P11 有按下
            rt = 1;
        }
        .
        .
        .
    }
}
return rt;                          //返回按键
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-7-1 09:29 , Processed in 0.122486 second(s), 76 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表