我见过很多使用串行端口的代码示例,人们说他们也在使用代码。问题是,当我尝试代码时它不起作用。
import serial
ser = serial.Serial(
port=0,
baudrate=9600
# parity=serial.PARITY_ODD,
# stopbits=serial.STOPBITS_TWO,
# bytesize=serial.SEVENBITS
)
ser.open()
ser.isOpen()
print(ser.write(0xAA))
它给我的错误是:“SerialException:端口已经打开”。 是我使用python3.3的问题还是有什么额外的东西需要安装?Python3.3有没有其他使用COM端口的方法?
所以这个故事的寓意是。。端口在初始化时打开。
ser.open()
失败,因为ser = serial.Serial(.....)
已打开串行端口。这是一件事。上面的另一个问题是
ser.write(0xAA)
-我希望这意味着“发送一个字节0xAA”,实际上它所做的是发送170(0xAA)个零。在函数write
中,我看到了以下内容:data = bytes(data)
其中data是您传递的参数。似乎bytes()函数不接受字符串作为参数,因此不能直接用serial.write()
发送字符串,但ser.write(bytearray(TheString,'ascii'))
可以完成这项工作。尽管我正在考虑增加:
在
ser.write()
中,尽管这会使我的代码无法在其他PC上工作相关问题 更多 >
编程相关推荐