现在用ch423度按键输入,我采用的是oc15作为中断,系统在中断函数中发送IIC指令读取IO7-IO0的值。然后再主循环中判断IO7-IO0是哪个按键。调试下来发现按键经常读不到,要按好几次可以读到一次。大家用ch423读取按键都是 怎么做的,有什么好的优化方法吗
查看: 5772
回复: 3
ch423读按键输入的优化
热门产品 :
CH585: 集成高速USB和NFC的蓝牙MCU
此中断产生前提是检测到IO7~IO0 引脚输入与事先写入IO7~IO0 引脚的输出寄存器的数据不同。
撤销中断也是通过修改输出寄存器。
按键过程中,示波器检测OC15电平变化是否正常。
此中断产生前提是检测到IO7~IO0 引脚输入与事先写入IO7~IO0 引脚的输出寄存器的数据不同。
撤销中断也是通过修改输出寄存器。
按键过程中,示波器检测OC15电平变化是否正常。
OC15电平我后面再测一下,我是断电调试发现每次是可以进中断的。按照这种中断机制,那最好是按键输入之后,中断里面马上控制IO7-IO0的值复位,防止按钮松开又会发生中断?
建议默认无按键情况写FF(内部有上拉)。有按键按下时,必然有中断,进入中断做记录,并修改输出端口,撤销中断,等到抬起后,仍会产生中断,根据记录值可以知道一次完整的按下抬起过程,修改输出端口,撤销中断。8个端口统一处理。
请勿发布广告和违法内容, 代码可以选择编辑器代码语言格式, 更易他人阅读帮助您, 或者留下联系方式,以便更好更快服务您
只有登录才能回复,可以选择微信账号登录