直接用500000波特率呗
CH340G和CP2102x跑1.5Mbps也没问题的, 免晶振的CH340*不行
【 在 lvsoft (Lv(The Last Guardian)) 的大作中提到: 】
新的代码,这次会对读回来的实际数据流的带宽进行计量。
之前的写法是半双工的,实际带宽依赖驱动实现。我测了下只跑到了115200理论带宽的70%左右。
要发挥全部性能得多线程或者异步,写起来太麻烦了。我这里偷懒直接把波特率翻倍,这样达到了19700Byte/s的实测速度,肯定超过115200了,CPU占用率在A53核上大概是7%上下。不过现在的代码复杂度比之前高了。如果把测速这块去掉,还是用之前的最简单的代码直接在230400波特率下跑,CPU的占用率没明显变化,图就不贴了,和之前完全一样看不出差别。
import serial
from tqdm.auto import tqdm
from tqdm.utils import CallbackIOWrapper
s = serial.Serial('/dev/ttyUSB0', 115200*2)
with tqdm(unit="B") as t:
f = CallbackIOWrapper(t.update, s, "read")
while True:
s.write(b"abcdefg" * 200)
l = f.read(6 * 200)
assert(len(l)==6*200)
【 在 lvsoft 的大作中提到: 】
: 额...这个CPU太弱了...
: 我这里已经找不到这么弱的CPU了...
: 找了块rk3399测下。 N2840 大概比Z8350快30%,但rk3399的A72单核心比Z8350快100%,但A53大概只相当于A72的1/3。综合来看rk3399的A53应该和N2840差不多。
: ...................
--
FROM 67.198.237.*