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

淘帖
1105