我参照着psst的《v3s matrix keypad 设备树怎么写?》的帖子,
做了一下自己的矩阵键盘驱动,内核是linux-zero-4.10.y。
我现在 把licheepi zero上面加了1个3x4的矩阵键盘,行线使用PB2,PB3,PB4 三个引脚,
列线使用PE2,PE3,PE10,PE11四个引脚。
列线用的是 原来的RGB_LCD上面的引脚,LCD现在我弄成SPI接口的LCD了,
所以RGB上面的引脚都可以用。
然后我在内核里面配置了matrix键盘的支持:
设备树也修改了:
重新烧写zimage和dtb设备树文件,重新上电后,在/dev/input/也可以看到event0设备,
cat /proc/interrupts里也可以看到3根行线注册的中断源,但是cat /dev/input/event0后按下按键
没有任何反应。
用万用表测量过3根行线的电平,没有按键按下时是低电平,如果该行上有按键按下会变成高电平,
松开后又回到低电平,说明电路应该没问题的。
会是哪里的问题呢?
最近编辑记录 helo (2019-07-27 11:05:18)
离线
PB2,PB3,PB4 触发的中断次数都是 0 ?
PB2,PB3,PB4 不按时候的电压是多少, 按下的时候电压是多少?
https://github.com/torvalds/linux/blob/master/drivers/input/keyboard/matrix_keypad.c
https://github.com/torvalds/linux/blob/master/Documentation/devicetree/bindings/input/gpio-matrix-keypad.txt
离线
不按按键的时候,行线电平是0,按下时,行线电平为3.3V
离线
我把它改到4.13.y内核里面了,现在可以用了。
离线
是的。4.10.y 不行4.13.y可以。都是在licheepi zero自带的默认参数基础上修改的。
另外,行线都要加上下拉电阻才稳定,否则总是进入到行线的中断里面去。
离线
请问最后解决了吗?
离线