我是python的新手。我使用的是USB,上面安装了Debian9.5和Python3.5.3。微控制器通过BeagleBone连接到我的BeagleBone上。它正在以9600的波特率读取串行线路。我可以通过向微控制器发送使能“9-”来控制螺线管打开或关闭,其中-可以是0或1。要打开螺线管1和3,我必须发送“91010”才能将它们全部关闭,我必须发送“9000”。
我需要一个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个参数的函数,一个参数代表每个电磁阀的状态,例如pwr_solenoid(1,1,1,1)会通过串行发送'91111‘来打开所有电磁阀
发布于 2019-04-03 10:37:19
您需要使用https://pyserial.readthedocs.io/en/latest/pyserial_api.html#serial.Serial.write将数据写入为bytes格式,例如'91010'.encode()
另外,如果串行端口能够告诉您写入操作是否成功,您还可以在使用https://pyserial.readthedocs.io/en/latest/pyserial_api.html#serial.Serial.read进行写入之后执行ser.read,并处理该输出
https://stackoverflow.com/questions/55486149
复制相似问题