SN7326矩阵按键功能移植与适配(二)

五.问题Debug

5.1 全键盘同时按下多个按键必现重启

复现:使用全键盘机器,同时按下多个按键>6个,

user版本机器会重启、debug版本机器会进入sysdump;

概率:100%;

原因:按下按键个数>6时,IRQ处理函数会一直读取按键内部0x10状态寄存器,直至其值bit7为0

导致IRQ被delay;IRQ配置成Top端,若IRQ无法立即return就会触发系统reboot;

分析:

解决:只处理2个按键,缩短中断函数处理时间

5.2 全键盘与九宫格版本互刷系统重启

复现:全键盘机器刷九宫格版本,开机后按up键必先重启;

概率:100%;

原因:key_report_value()函数只有if,else if没有else异常处理代码:互刷版本上报的键值无法识别后程序代码卡在for循环里无法return即中断函数无法return,触发系统reboot;

分析:

解决:添加else 语句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值