【发布时间】:2010-07-30 20:23:36
【问题描述】:
我是开发 Linux 驱动程序的新手...。我正在开发一个使用 TTY 访问串口的 SMS 驱动程序(通过串口到调制解调器的 AT 命令)。驱动程序是用 C 语言编写的。
在设计中,从调制解调器到驱动程序的消息可以由两个事件触发:
1) 响应驱动程序发出的 AT 命令的状态(即预期消息)
2) 新 SMS 的指示(即意外消息)
我计划使用两个线程 - 一个用于写入 TTY,一个用于从 TTY 读取。是否可以配置 TTY 以便我的读取线程在传入字符时唤醒(即读取线程是事件触发的,而不是基于轮询)?
最好的问候, 维特克
【问题讨论】:
-
附加评论:我使用了“POSIX 操作系统串行编程指南”(easysw.com/~mike/serial/serial.html)作为灵感,但没有找到关于我的问题的答案。
-
你想要的是一个普通的
read()如何在一个正常的、阻塞的文件描述符上工作——它会休眠直到可以读取数据(或者捕获到信号或其他异常情况)。跨度>