onewire

示例代码

板级配置

说明

板级详细配置说明见:app.json - 全局配置文件说明

 {
    "version": "1.0.0",
    "io": {
        "DS18B20": {
            "type": "GPIO",
            "port": 4,
            "dir": "output",
            "pull": "pullup"
        }
    },
    "debugLevel": "DEBUG"
 }

业务脚本

import * as onewire from 'onewire'

var DS18B20Dev;
var start_flag = 0;

export function init(gpioid) {
    DS18B20Dev = onewire.open({id: gpioid});
}

// Get temperature
export function getTemperature()
{
    var TL, TH;
    var tem;

    {
        DS18B20Dev.setspeed(1);
        start_flag = 1;
    } 

    DS18B20Dev.reset();

    DS18B20Dev.writeByte(0x55);

    if(1)
    {
        if(!start_flag)
        {
            DS18B20Dev.setspeed(1);
            DS18B20Dev.reset();
        
            DS18B20Dev.writeByte(0xcc);
            DS18B20Dev.writeByte(0x44);
    
            start_flag = 1;
        }
    
    
        DS18B20Dev.reset();
    
        DS18B20Dev.writeByte(0xcc);
        DS18B20Dev.writeByte(0xbe);
    
        TL = DS18B20Dev.readByte();    /* LSB first */
        TH = DS18B20Dev.readByte();
        
        if (TH > 7)
        {
            TH =~ TH;
            TL =~ TL;
            tem = TH;
            tem <<= 8;
            tem += TL;
            tem = (tem * 0.0625 * 10 + 0.5);
            return -tem;
        }
        else
        {
            tem = TH;
            tem <<= 8;
            tem += TL;
            tem = (tem * 0.0625 * 10 + 0.5);
            return tem;
        }
    }
 
}

// De-init Si7006
export function deinit() {
    DS18B20Dev.close();
}

open()

打开onewire接口,创建 onewire 实例。

入参

  • gpioid GPIO端口号

返回

  • onewire实例

onewire 实例

onewire.setspeed(standard)

设置onewire速度模式。

入参

属性

类型

必填

描述

standard

Number

非0(标准) 或者 0(非标准)

onewire.reset()

onewire复位。

onewire.readByte()

读取1-Wire一个字节数据并返回。

返回值

  • Number类型,读取1-Wire一个字节数据。

onewire.writeByte()

写1-Wire一个字节数据。

入参

属性

类型

必填

描述

data

Number

待写1-Wire的一个字节数据

onewire.close()

关闭onewire,释放open实例。