0
我一直在試圖讓一個DS18B20防水溫度傳感器與我的Arduino的工作。這是我使用的代碼:防水DS18B20溫度傳感器Arduino的代碼錯誤
#include <OneWire.h>
int SensorPin = 2;
OneWire ds(SensorPin);
void setup(void) {
Serial.begin(9600);
}
void loop(void) {
float temp = getTemp();
Serial.println(temp);
delay(100);
}
float getTemp(){
byte data[12];
byte addr[8];
if (!ds.search(addr)) {
//no more sensors on chain, reset search
ds.reset_search();
return -1000;
}
if (OneWire::crc8(addr, 7) != addr[7]) {
Serial.println("CRC is not valid!");
return -1000;
}
if (addr[0] != 0x10 && addr[0] != 0x28) {
Serial.print("Device is not recognized");
return -1000;
}
ds.reset();
ds.select(addr);
ds.write(0x44,1);
byte present = ds.reset();
ds.select(addr);
ds.write(0xBE);
for (int i = 0; i < 9; i++) {
data[i] = ds.read();
}
ds.reset_search();
byte MSB = data[1];
byte LSB = data[0];
float TRead = ((MSB 8) | LSB);
float Temperature = TRead/16;
return Temperature;
}
我不斷收到以下錯誤:
在funtion '漂浮gerTemp()': 錯誤:之前的數字常量 錯誤預期 ')':預期「 )'之前';'令牌
我無法弄清楚這些意味着什麼或如何解決它。有人能幫我嗎?謝謝!
的感謝!它的工作,並且錯誤不會彈出了,但我不知道如何讀的溫度。沒有任何溫度讀數顯示出來。也許那部分代碼缺失?有人能告訴我那部分代碼是什麼嗎?我無法弄清楚。謝謝! –