【发布时间】:2014-01-11 23:37:31
【问题描述】:
是否可以打开串口设备(如/dev/ttyS0)并通过select/poll/etc... 或握手线时的信号(如CTS/@987654326 @ 或 DSR/DTR) 改变?我知道在硬件级别有一个来自 UART 的中断来告诉内核它已经改变了,但是我可以在用户区得到通知吗?
编辑:我知道TIOCMIWAIT,但ioctl 调用会阻塞,直到状态行发生变化。相反,我希望继续进行一般处理,并通知poll 或类似的更改以及其他事件。
【问题讨论】:
-
不是直接的——那篇文章只谈论
TIOCMIWAIT,它会阻塞直到状态位改变。我希望通过选择/轮询唤醒或信号异步获得通知。 -
好的,好点。现在我该如何取消标记?我想我可以投票来补偿 ;-)
-
你可以通过将
ioctl TIOCMIWAIT放在单独的线程中来做你想做的事吗?
标签: linux serial-port