【发布时间】:2015-02-06 05:12:13
【问题描述】:
我正在实现一个带有串行接口的 linux 应用程序。我正在使用信号机制使其异步。
saio.sa_handler = signal_handler_IO;
我正在读取信号处理程序本身及其工作中接收到的数据。由于我需要快速响应,因此我在信号处理程序中实现了更多逻辑。所以信号处理器不是很小。
问题是当我尝试写入串行端口时,信号处理程序再次被调用。我不想要这个。是否可以仅将信号处理程序用于接收到的数据。
或者是否可以在信号处理程序中区分接收和发送?
基兰
【问题讨论】:
-
如何创建一个结构,如果您写入或读取数据,您将对其进行修改。这种方式在你的处理程序中你可以使用 if() 函数,你只会在你想要的条件下执行它。
-
你为什么使用信号?使用
select()等的常用方法可以正常工作。
标签: c linux asynchronous serial-port