时钟芯片程序中按键按下声音有变长的意外的情况出现

2020-03-12 19:48发布

我写了时钟芯片程序显示时间,按下按键声音短促,但是按键按着按着会出现声音变长的情况,我自己觉得display函数运行时间太长的原因,我把这个display函数给屏蔽后蜂鸣器声音就不会出现声音加长的情况!
请问遇到这种情况我该怎么处理?

key_scanf函数是写在主函数里面,按键是机械按键,蜂鸣器是无源的

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
cainiao518
1楼-- · 2020-03-13 14:38
display函数不要用长延时函数
KloppGuo
2楼-- · 2020-03-13 19:03


一个显示函数为什么会消耗那么长时间呢,不就是定时发个(更新)数据吗 ...


显示是使用TFT160128点阵屏来显示时钟芯片读出来的时间,时间我都是分段显示的,要不然一下子显示出来就会出现检测不到按键的情况

KloppGuo
3楼-- · 2020-03-13 20:58


一个显示函数为什么会消耗那么长时间呢,不就是定时发个(更新)数据吗 ...


显示是使用TFT160128点阵屏来显示时钟芯片读出来的时间,时间我都是分段显示的,要不然一下子显示出来就会出现检测不到按键的情况

KloppGuo
4楼-- · 2020-03-13 21:29
 精彩回答 2  元偷偷看……
ayb_ice
5楼-- · 2020-03-14 01:26

显示是使用TFT160128点阵屏来显示时钟芯片读出来的时间,时间我都是分段显示的,要不然一下子显示出来就 ...


你的驱动不行吧,刷新一全屏也花不了多少时间吧,10~50MS足够了,除非你MCU很弱
你BEEP一般响多少时间,如果不行可以在定时中断控制BEEP关

KloppGuo
6楼-- · 2020-03-14 05:52


你的驱动不行吧,刷新一全屏也花不了多少时间吧,10~50MS足够了,除非你MCU很弱
你BEEP一般响多少时间,如 ...


我是使用东软的HR7P275 ,工作频率是16mhz ,刷全屏时间大约1.2秒,看门狗都溢出了,我都在里面刷屏里面加清狗指令了! 我把key_scanf和key_pp放到中断函数里面,显示函数display 100ms刷新显示一次都可以检测到按键;要是把key_scanf和key_pp放到main函数里面,显示函数display 100ms刷新显示一次按键有检测不到的情况出现,蜂鸣器声音加长!

beep 用的是无源 4KHZ  ,一般响100ms;要是把key_scanf和key_pp放到main函数里面中响的时间大于100ms

一周热门 更多>