Python 基本串行端口争用
我使用的是pi3,它通过serial0(ttyAMA0)与arduino对话 一切都很好。我可以和minicom双向通话。但是,基于python的服务器也需要此端口。我注意到,当minicom运行时,python代码可以写入serial0,但不能从中读取。至少minicom报告python服务器已发送消息 有人能告诉我这个串口是如何处理争用的吗?我注意到在同一个串行端口上运行两个minicom会话会破坏这两个会话。如果协调多个作者和读者不同时行动,是否可能有多个作者和读者?或者可以有多个读卡器(几个运行cat/dev/serial0的术语) 我在谷歌上搜索过答案,但大多数点击都是关于使用多个串行端口或让一个串行端口工作的Python 基本串行端口争用,python,serial-port,raspberry-pi3,Python,Serial Port,Raspberry Pi3,我使用的是pi3,它通过serial0(ttyAMA0)与arduino对话 一切都很好。我可以和minicom双向通话。但是,基于python的服务器也需要此端口。我注意到,当minicom运行时,python代码可以写入serial0,但不能从中读取。至少minicom报告python服务器已发送消息 有人能告诉我这个串口是如何处理争用的吗?我注意到在同一个串行端口上运行两个minicom会话会破坏这两个会话。如果协调多个作者和读者不同时行动,是否可能有多个作者和读者?或者可以有多个读卡器(
干杯因为两个minicom可以尝试使用该端口,并且存在冲突,minicom不得在对串行端口的本地写入上设置建议锁定。我猜第一个读取收到的远程串行消息的应用程序会清除它,因为串行消息没有缓冲区。当本地应用程序写入串行数据时,minicom会显示该数据并将其发送。我要做一个假设的总结
AFAIK串行端口一次只能由一个应用程序访问,因为串行通信在两个设备之间,通常不能共享/多路复用。当然,可以创建一个协议,允许多个应用程序在串行连接的另一端与多个东西进行通信,但您可能也必须控制其他东西,才能有机会实现这一点。