数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 8655|回复: 49

[other] 不使用单片机!USB转串口直接读取DS18B20

[复制链接]
发表于 2021-9-28 10:21:05 | 显示全部楼层
kindzhon 发表于 2020-3-30 17:04
牛啊,来个Python程序是不是更方便?画个小电路图呗。

下边是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,所以只是读回来,没有转换结果





回复 支持 反对

使用道具 举报

发表于 2021-9-28 10:22:16 | 显示全部楼层
devcang 发表于 2021-9-28 10:21
下边是Python的示范(未包括转换结果)

pip3 install pyserial==3.4

库安装
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-7-25 02:06 , Processed in 0.078001 second(s), 9 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表