TCA8418E做按键管理使用,遇到的问题是当按下某个按键后触发了中断(INT脚位低电平),不会自动恢复为高电平。
向0x02寄存器最低位写1和写0都试过没有效果。
由于只找到TCA8418的SPEC,所以驱动是参照TCA8418写的。
我的MCU收到中断后读按键寄存器0X04里的键值是正确的,读0x02寄存器值为0x01,读0x03的低4位是1。 看起来是检测到一个按键。 既然读写都OK了,I2C读写的时序应该没什么问题了。
初始化配置为
reg0x01: 0x41
reg0x1D:0xFF
reg0x1E:0xFF
reg0x1F:0x03
reg0x29:0xFF
reg0x2A:0xFF
reg0x2B:0x03
请帮忙看看是否配置有问题,谢谢!
songshan he:
自问自答一下,刚才又看看8418的规格书,看到是按键按下和释放都会产生中断,我这部分处理的逻辑要改一下,先前没考虑到按键释放会产生中断呢。
有结果或问题解决我会过来更新一下的
songshan he:
回复 songshan he:
小开心一下。找到原因了。
因为我先清中断标志再读键值,这样是不对的。
通过示波器可以看到,中断脚变高很快就又变低了。
改了一下中断服务程序,把清中断(就是对reg02写1)的动作放在读键值的后面,最后清就OK了。
Jian Wang16:
回复 songshan he:
何工:
你好,我也在调这个ic,现在iic通了,但是按按键没中断产生,中断电平一直是高的,搞了几天了不知道什么原因,很痛苦,能否指导下?必有重谢!
qq:734390076 13265706028