python - pyserial 一次读取最大 4096 字节,为什么?
问题描述
我在嵌入式系统上有一个 USB 驱动程序,我正在推入数据的 32k 端口。但是,当我使用 pyserial 读取数据时,它会将数据拆分为 4k 个数据包。这是一个usb 2.0,我不想重组数据。
这是我读取数据的方式:
data = serial.read(1)
data += serial.read(serial.inWaiting())
if (len(data) > 32):
header_size = int(32)
data_header = data[:header_size]
#just show the first 32 characters of the data
print("Packet size = " + str(len(data)) + "\n")
print(str(data_header) + "\n")
输出:
Packet size = 4096
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Packet size = 4096
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
Packet size = 4096
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
Packet size = 4096
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
Packet size = 4096
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
Packet size = 4096
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
Packet size = 4096
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
Packet size = 4096
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
这是驱动程序限制还是 pyserial 正在拆分数据?这个可以配置吗?
谢谢你。