Serial port 串口是写入线程的人质

Serial port 串口是写入线程的人质,serial-port,embedded-linux,rtai,Serial Port,Embedded Linux,Rtai,我有两个实时线程(linux) 第一个是通过串行端口(内核空间)发送字节 第二个是从串口读取相同的字节(因为我使用了环回设备) 然而,第一个线程连续异步地发送数据 第二个线程无法打开要读取的串行端口 我用了信号灯,但我想我的问题是。。不是同步问题, 我的问题是串行端口仍然在第一个线程的手中 我怎样才能克服这个问题 我愿意接受你的建议 最好的问候当您打开设备时,您是在读/写模式下打开它,还是每一个都在读模式下,另一个只在写模式下?每一个都在读模式下,另一个都在写模式下(这意味着两个不同的代码脚本,

我有两个实时线程(linux)

第一个是通过串行端口(内核空间)发送字节

第二个是从串口读取相同的字节(因为我使用了环回设备)

然而,第一个线程连续异步地发送数据

第二个线程无法打开要读取的串行端口

我用了信号灯,但我想我的问题是。。不是同步问题, 我的问题是串行端口仍然在第一个线程的手中

我怎样才能克服这个问题

我愿意接受你的建议


最好的问候

当您打开设备时,您是在读/写模式下打开它,还是每一个都在读模式下,另一个只在写模式下?每一个都在读模式下,另一个都在写模式下(这意味着两个不同的代码脚本,都在内核空间中),所以您的意思是每一个都在读/写模式下打开,另一个是打开的,只写吗?如果是这样的话,我认为这是不可能的,因为设备管道只能通过一个句柄打开和访问。简单地说,第一个是只写的,第二个是只读的,但是当我编译和insmod read only one时,它会说“address in use-98”作为rt_spopen的一个回复。写入端工作正常,但我无法读取。我在COM1上使用回路连接器。