我被要求使用POSIX调用来读取和写入半双工串行连接(更具体地说,在Linux 2.6.x上用C语言编写)。我在寻找关于该特定型号的详细信息时遇到了一些麻烦(大多数页面都集中在全双工),而且当我在阅读时遇到轻微异常时,我想检查一下我是否在做错了。
使用半双工串行连接,我只能读或写。这不是问题,因为线路上没有未经请求的传入数据 - 任何包裹发送给我(用于阅读)的唯一时间是我事先要求它们。
所以我的代码所做的是在需要发送内容时将()写入端口。如果这些数据导致响应(事先我知道),我只需阅读()。我没有特别的功能 - 但也许我应该这样做?这种方法是否正确?即线路空闲时写?
答案 0 :(得分:0)
我会阅读Linux内核源文档,可能有一个关于串口驱动程序的文本文件;如果没有,你可以阅读实际的驱动程序代码,看看它做了什么(它不像听起来那么可怕,我保证!)