我目前正在开发一个软件,它使用Python3(pyserial)与Raspberry Pi计算模块3+Lite上的许多串行端口(~24)进行接口。串行端口使用多个FTDI4232H芯片连接。我们通过以太网USB接口访问电路板。所有这些都连接到计算模块的唯一USB OTG端口
我注意到,当所有串行端口都打开时,即使没有串行通信,以太网速度也会急剧降低。速度测试结果从198.78 Mbits/s变为1.48 Mbits/s。当使用ssh访问设备时,一切都是不连贯的
我的猜测是,每个串行连接都有一个预先允许的最小数据带宽,但没有关于如何解决这个问题的线索
谢谢你的帮助
马丁
编辑:@AKX,下面是一个重现问题的代码示例
import multiprocessing
import time
from serial import Serial
QTY = 23
STOP_TEST_AFTER = 30
def serial_test(serial_port):
serial_port = Serial(port=f"/dev/ttyUSB{serial_port}", baudrate=19200)
timer = time.time()
while time.time() - timer < STOP_TEST_AFTER:
time.sleep(0.1)
if __name__ == "__main__":
process_list = []
for i in range(0, QTY):
new_process = multiprocessing.Process(target=serial_test, args=(i,))
new_process.start()
for proc in process_list:
proc.join()
目前没有回答
相关问题 更多 >
编程相关推荐