当前位置: 技术问答>linux和unix
在线等待。。。aram开发问题求救。键盘交互这个怎么实现,怎样实现简便
来源: 互联网 发布时间:2015-09-26
本文导语: 简述我的需求如下: aram上有一个小键盘,每按一下键盘就要进行相应的处理。 但是我有一个短信收费模块。 我先在用的键盘驱动采用的阻塞IO方式,这样没有按键的时候,程序就阻塞了。这样也就没法收短信了。...
简述我的需求如下: aram上有一个小键盘,每按一下键盘就要进行相应的处理。 但是我有一个短信收费模块。 我先在用的键盘驱动采用的阻塞IO方式,这样没有按键的时候,程序就阻塞了。这样也就没法收短信了。 多线程也行不通,无法对键盘进行适时相应。 linux的信号机制好像可以,但是按键盘就会产生信号吗? 要不然的话,是不是得重写驱动。直接响应硬件中断。 那位大侠有过经验得,帮帮小弟我呀, 分全散啦
|
稍微麻烦点的是
短信的收发过程要互斥
你需要设置一个flag避免产生冲突
下面是键盘中断和收发信息框架
inter_keyboard(){
禁止接收消息
接收键盘信号;
允许接收消息
}
sendmsg(){
禁止接收消息
禁止键盘中断;
发送消息;
允许键盘中断;
允许接收消息
}
recvmsg(){
禁止发送消息;
禁止键盘中断;
接收消息;
允许键盘中断;
允许发送消息;
}
短信的收发过程要互斥
你需要设置一个flag避免产生冲突
下面是键盘中断和收发信息框架
inter_keyboard(){
禁止接收消息
接收键盘信号;
允许接收消息
}
sendmsg(){
禁止接收消息
禁止键盘中断;
发送消息;
允许键盘中断;
允许接收消息
}
recvmsg(){
禁止发送消息;
禁止键盘中断;
接收消息;
允许键盘中断;
允许发送消息;
}
|
你用的什么系统?
linux-arm
那他是可以按进程调度的
你的中断服务怎么写的?
linux-arm
那他是可以按进程调度的
你的中断服务怎么写的?
|
写一键盘驱动,与收发短消息的串口一起select的不就好了吗?