我目前有一些旧的测试应用程序,它是用C语言编写的,我想用其他功能扩展它,但要利用Python/PySerial来完成
总的来说,我发现其他一些有用的SO线程(例如:C# .NET serial port connects, doesn't read or write)以及PySerial文档都很有用,但是我在通信方面遇到了一些问题。下面是如何传递内容的简化示例(IP消息中有一些更改):
_serialPort = new SerialPort("COM1", 115200, Parity.None, 8, StopBits.One);
_serialPort.Handshake = Handshake.None;
_serialPort.DtrEnable = true;
_serialPort.WriteLine("login_string");
_serialPort.WriteLine("debug_string");
_serialPort.WriteLine("a message");
在Python中,我有:
import serial
port = serial.Serial(
port="COM1",
baudrate=115200,
bytesize=serial.EIGHTBITS,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
dsrdtr=True,
)
port.write(b'login_string\n')
port.write(b'debug_string\n')
port.write(b'a message\n')
我相信这是正确的,因为我必须在末尾添加\n
换行符,并使用字符串上的前缀b
将其转换为字节
我确实尝试过研究,我想我看到字符串在C#中表示为UTF-16?它转换成UTF-8了吗?这是有意义的,因为字节大小设置为8位
我还认为dsrdtr
标志是必需的,因为使用了_serialPort.DtrEnable = true;
我觉得这应该行得通,但我不确定,我觉得我只是在回声室里旋转轮子。谢谢你的帮助
目前没有回答
相关问题 更多 >
编程相关推荐