使用 pyserial 就可以处理串口通信,这衡液个包是跨平台的。
http://pyserial.sourceforge.net/
示例程序在这里:
https://pyserial.readthedocs.io/en/latest/examples.html#wxpython-examples
import serial# 创建serial实例
serialport = serial.Serial()
serialport.port = 'COM1'
serialport.baudrate = 9600
serialport.parity = 'N'信氏
serialport.bytesize = 8
serialport.stopbits = 1
serialport.timeout = 0.6
try:
serialport.open()
serialport.setDTR(True)
serialport.setRTS(True)
except Exception, ex:
滑拦散print ex
# 发送数据
serialport.write(raw_data)
# 根据项目要求,可以开一个线程扫描接收数据
我也写过SerialPort接收com端口数据的程序。winform.我接收数据是通过通讯协议。不知是否对你有用。try
{
//打开串简瞎悔口写数据拦正
sp = new SerialPort()
sp.PortName = com1
sp.BaudRate = 2400
sp.Open()
sp.ReadTimeout = 1000
sp.DiscardInBuffer()//清空输入缓存
sp.Write("**C")//此神碰为通讯协议
//读数据
System.Threading.Thread.Sleep(1000)
beans = new ArrayList()
while (true)
{
byte getByte = Convert.ToByte(sp.ReadByte())
beans.Add(getByte)
}
}
catch (TimeoutException)//结收完毕
{
if (beans.Count <4)//只接到**C的返回
{
MessageBox.show("没有数据!")
}
else//接收完毕
{
...........//处理接收到的字节数据
}
}
catch(Exception ex)
{
MessageBox.show(ex.toString())
}
finally
{
closePort(sp)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)