|
发表于 2021-9-28 10:21:05
|
显示全部楼层
下边是Python的示范(未包括转换结果)
import serial #导入模块
import serial.tools.list_ports
timex=5
def test18B20(portx):
'''
参数是串口名,COMx
timex是超时设置全局变量
'''
global timex
if None==portx: return
uart=None
try:
#端口,GNU/Linux上的 /dev/ttyUSB0 等 或 Windows上的 COM3 等
#波特率,标准值之一:50,75,110,134,150,200,300,600,1200,1800,2400,4800,9600,19200,38400,57600,115200
#timeout 超时设置,None:永远等待操作,0为立即返回请求结果,其他值为等待超时时间(单位为秒)
# 打开串口,并得到串口对象
uart=serial.Serial(portx, 38400, timeout=timex)
print("Serial Information:", uart)
uart.write(b'00ff')
uart.baudrate=115200 #库会自己重设置
uart.write(b'0000ffff0000ffff')
uart.write(b'0000ff000000ff00')
uart.baudrate=38400 #38400
uart.write(b'00ff')
uart.baudrate=115200 #库会自己重设置
uart.write(b'0000ffff0000ffff')
uart.write(b'00ffffffff0000ff')
uart.write(b'ffffffffffffffffffffffffffffffff')
print(uart.in_waiting)#获取输入缓冲区的剩余字节数
print("---------------")
except Exception as ex:
print(ex)
if None!=uart: uart.close()#关闭串口
#手头没有18B20,所以只是读回来,没有转换结果
|
|