- 打卡等级:常住居民II
- 打卡总天数:88
- 最近打卡:2025-12-13 21:09:54
高级会员
- 积分
- 616
|
发表于 2025-11-17 18:44:14
|
显示全部楼层
谢谢梁老师,stc32g头文件有B寄存器的定义,但没有位的定义,问题找到了,我漏下了将蜂鸣器关闭计数值置零,
while (1)
{
if(KEYJ>=50)
{
KEYJ=0;
ReadKey();
}
if(KeyCode != 0)
{
if(KeyCode == K1_PRESS)
{
BPj=0;
BEEP=1;
}
KeyCode = 0;
}
if(BPj>150)
{
BEEP=0;
}
if(bmq1!=bmq)
{
bmq1=bmq;
sprintf(S,"%3d",bmq);
LCD_A24(100,30,S,15,0,3); //显示12*24字符串
}
}
梁老师还有一个问题,现在是不管长按短按只要是抬起按钮,蜂鸣器就响一下,理论上短按抬起蜂鸣器响,我长按超过1秒钟应该是KeyCode = K1_HOLD;,因为这一项while没有写,应该长按蜂鸣器不响,我没有在你的程序中找到长按的使用程序,长按没用吗,这样怎么区分长按短按呢 |
|