浅浅记录一下,之前做老化柜电压电流,以及电阻测试仪数据采集用到的串口通信
使用python serial模块进行的串口通信。
serial模块的使用方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| import serial
def openPort(portx, bps, timeout): ret = False try: ser = serial.Serial(portx, bps, timeout = timeout) if(ser.is_open): ret = True except Exception as e: print("---Error---", e) return ser, ret
|
发送数据
1 2 3 4 5 6 7 8 9
| import serial if __name__ == '__main__': ser = serial.Serial('COM1', 9600, None) if(ser.is_open): aa = '46 45 54 43 68 3F 0A' bb = bytes.fromhex(aa) result = ser.write(bb) print result
|
接收数据
1 2 3 4 5 6 7 8
| import serial if __name__ == '__main__': ser = serial.Serial('COM1', 9600, None) if(ser.is_open): count = ser.in_waiting data = ser.read(count) print data
|
serial模块常用的方法
方法 |
说明 |
ser.open() |
打开端口 |
ser.close() |
关闭端口 |
ser.is_open |
查看端口是否打开 |
ser.write() |
发送数据 |
ser.read() |
接收数据,可指定字节数,默认为1 |
ser.readline() |
接收一行数据 |
ser.read_all |
接收全部数据 |
ser.in_waitting |
返回数据的字节数 |
ser.flush() |
等待所有数据发出 |
ser.flushInput |
丢弃接收缓存中的所有数据 |
ser.flushOutput() |
终止当前发送操作,并丢弃发送缓存中的数据 |