首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过地址接口DS18B20

通过地址接口DS18B20
EN

Stack Overflow用户
提问于 2018-11-29 10:47:58
回答 1查看 154关注 0票数 0

我有单线设备DS18b20的地址,我想通过在数组中声明它的地址来连接它,我想调用地址数组的初始化器是onewire.select(数组-初始化器),然后我想计算温度,但是我得到的数据=0 0 0。

代码语言:javascript
复制
#include <OneWire.h>
OneWire ds(10);
//byte address[8];
byte data[12];
//int a;
byte i;
byte address[]={0x28,0xFF,0x6C,0xEA,0x62,0x16,0x4,0xE7};  

void setup() {
    // put your setup code here, to run once:
    Serial.begin(9600);
}

void loop() {
    // put your main code here, to run repeatedly:
    ds.reset();
    ds.select(&address);
    ds.write(0x44);

    ds.reset();
    ds.select(address);
    ds.write(0xBE);

    Serial.print("DATA=");
    for (i=0;i<9;i++){
        Serial.print(" ");
        data[i]= ds.read();
        Serial.print(data[i],DEC);
        Serial.print(" ");
    }
    Serial.println();
    delay(1000);
} 

我也得到了这个错误:

代码语言:javascript
复制
no matching function for call to 'OneWire::select(byte (*)[8])
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-29 10:50:50

来自资料来源

代码语言:javascript
复制
void OneWire::select( uint8_t rom[8])

尝试:

代码语言:javascript
复制
uint8_t address[]={0x28,0xFF,0x6C,0xEA,0x62,0x16,0x4,0xE7};  
ds.select(address);

C++知道变量类型。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53537249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档