完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我要在ARM开发板上的linux操作系统环境下做一个软件,该软件读取按键信息,根据不同的按键进行不同的操作。各个按键已经做成驱动程序,对应/dev/buttons设备文件。用open函数打开该设备,用read函数读取信息存入缓冲区(比如开发板有6个按键,则每个按键对应一个字节空间,如果相应按键按下,则读到单个字符‘1’,按键不按下,读到单个字符‘0’),根据读到的字符’0‘或者’1‘判断键按下与否。但我的程序要检测按键的跳变沿,也就是说按键”按下放开“算按一次,得到一次该键的信息(用不同整数值区分不同按键信息,比如1代表按键,4代表按键4等)按键只按下不放开,该按键不算有效。怎么实现这个函数啊?函数接口形如:int readkey(int fd);返回值是按键信息码,参数是打开的设备描述符。请高手指点啊! |
|
相关推荐
1个回答
|
|
这个得看驱动工程师咋设计的,中断的方式应该设成双边沿触发,也就是在按下和抬起多时候都会产生中断,那么两次中断才算是一次完整的按键,或者是按键抬起的时候产生中断,就在抬起的时候才会去响应,不用考虑 两次的问题
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
飞凌嵌入式ElfBoard ELF 1板卡-开发环境搭建之交叉编译
464 浏览 0 评论
飞凌嵌入式ElfBoard ELF 1板卡-shell脚本编写之输入输出重定向
1364 浏览 0 评论
飞凌嵌入式-ELFBOARD ELF 1外设扩展硬件分享第一期
2117 浏览 0 评论
4374 浏览 0 评论
2233 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-1 16:07 , Processed in 0.572965 second(s), Total 71, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号