《详解》12.1的按键驱动,是本书的最大失误,应大家的要求,我们很有必要对其进行再次阐述。 注意标题是“按键”驱动而非“键盘”驱动,按键往往是一个按钮直接对应于一个可中断的GPIO,而键盘则有一个行列矩阵,有一个扫描的过程,由键盘控制器负责扫描、去抖动、得到键值等工作。 按键驱动的目的是在用户调用read()的时候能够读出来正确的键值,如果用户以阻塞方式打开,则在没有按键事件的情况下,驱动应切出本进程,之后等待按键事件唤醒之。 因为在一个键被按下的时候,有一定时间的抖动,也就是说刚按下去的时候会弹来弹去数次,这些事件应该被忽略。有的So
Copyright © 2005-2023 51CTO.COM 版权所有 京ICP证060544号