FC的注册很坑 发表于 2020-6-16 11:09:13

pyserial库读取串口数据

下面是读取部分的代码
def recieve():
    s2 = serial.Serial('COM2', timeout=0.05)
    while True:
      time.sleep(1)
      print(s2.readline())
      print(s2.read(6))

打印后得到的值为
b'\x01\x03\x00\x00\x00\x01\x84\n'
b''
b'\x01\x03\x00\x00\x00\x01\x84\n'
b''

为什么.read(6)得到的是空的呢?

wp231957 发表于 2020-6-17 10:42:34

正常应该不支持这样的写法

FC的注册很坑 发表于 2020-6-18 10:19:35

wp231957 发表于 2020-6-17 10:42
正常应该不支持这样的写法

那应该怎么写啊,我网上查到的读法是用.read()的,但读出来是空的,于是我试了了.readline(),有东西了{:10_277:}{:10_324:}

FC的注册很坑 发表于 2020-6-22 10:48:33

wp231957 发表于 2020-6-17 10:42
正常应该不支持这样的写法

大佬咱们有缘,我结个题顺便送你个最佳{:10_297:}
我后来发现.read()其实也是能读出东西的,不过时有时无,但是.readline()稳定能读到,不知道什么原因。。可能.read时有时无是因为发送本来就是有间隔的,.readline()可能读到了类似缓存的东西,所以一直都有?

wp231957 发表于 2020-6-22 11:04:23

FC的注册很坑 发表于 2020-6-22 10:48
大佬咱们有缘,我结个题顺便送你个最佳
我后来发现.read()其实也是能读出东西的,不过时有时 ...

抱歉,没读过串口数据,现实中,实在是用不到
页: [1]
查看完整版本: pyserial库读取串口数据