通过 UART 写入微控制器

Writing through UART to a microcontroller

我是 python 的新手。我使用的是 BeagleBone Black Wireless,上面安装了 Debian 9.5 以及 Python 3.5.3 微控制器通过 USB 连接到我的 BeagleBone。它正在以 9600 的波特率读取串行线。我可以通过向微控制器发送启用“9----”来控制螺线管打开或关闭,其中 - 可以是 0 或 1。 要打开螺线管 1 和 3,我必须发送“91010” 要关闭所有这些,我必须发送“90000”

我需要一个 python 程序来帮助我发送启用信号 (9----)

我正在使用 PYserial 文档中的这个作为我的参考:

import serial
ser = serial.Serial('/dev/ttyUSB0',9600, timeout = 0)  # open serial port
print(ser.name)         # check which port was really used
ser.write(str('91010'))     # write a string
line = ser.readline()
ser.close()             # close port

如果我 运行 这个程序,理论上,是否可以打开螺线管 1 和 3?理想情况下,我想创建一个有 4 个参数的函数,一个用于每个 solenoid 的状态,例如像 pwr_solenoid(1,1,1,1) 这样的东西会通过串行发送 '91111' 来打开所有螺线管开启

您需要将数据写成 bytes 例如 '91010'.encode() 使用 https://pyserial.readthedocs.io/en/latest/pyserial_api.html#serial.Serial.write

此外,如果串口有办法告诉您写入操作是否成功,您也可以在使用https://pyserial.readthedocs.io/en/latest/pyserial_api.html#serial.Serial.read写入后执行ser.read并处理输出