树莓派 mb+ UART 8 位消息



我想通过UART从Rpi向Atmega328发送消息,并且必须只有8位消息(地址,地址,方向,步数[5位])。

import RPi.GPIO as GPIO
import serial
import time,sys

var=0b11110000
SERIAL_PORT = "/dev/ttyS0"
ser=serial.Serial(SERIAL_PORT,baudrate=9600,parity=serial.PARITY_NONE,stopbits=serial.STOPBITS_ONE,bytesize=serial.EIGHTBITS)
time.sleep(1)
print("Sending")
ser.write(var)
ser.close()

但我得到了这个

Sending
Traceback (most recent call last):
File "UART_2.py", line 11, in <module>
ser.write(var)
File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 558, in write
return len(data)
TypeError: object of type 'int' has no len()

我应该怎么做才能正确发送?

看起来你应该给ser.write一个字节数组,而不是发送单个值。尝试使用具有长度的var=[0b11110000],而整数0b11110000没有长度。
如果你可以将你的字节编码为字符串,你也可以在pySerial write()不会接受我的字符串找到更多答案

相关内容

  • 没有找到相关文章

最新更新