Датчик BMP180, попытки получить калибровочный коэффициент по I2c.
- Войдите на сайт для отправки комментариев
Пт, 02/10/2020 - 02:13
Несколько дней мучаюсь с библиотекой Wire.h и датчиком BMP140. При попытке достать калибровочные коэффициенты из датчика всегда получаю 255, независимо от регистра. Прикрепляю код, помогите пожалуйста, что я делаю не так.
#define datadr 0x77
#include <Wire.h>
void setup(){
Serial.begin(9600);
Wire.begin();
//read from senor
Serial.print(readregbyte(datadr, 0xAA));
}
void loop(){
}
byte readregbyte(uint8_t devaddr, uint8_t registeraddr){
byte data;
Wire.beginTransmission(devaddr);
Wire.write(registeraddr);
Wire.endTransmission();
Wire.requestFrom(devaddr, 1);
data = Wire.read();
return data;
}
byte writebyte(uint8_t devaddr, uint8_t registeaddr, uint8_t newbyte){
Wire.beginTransmission(devaddr);
Wire.write(registeaddr);
Wire.write(newbyte);
int log = Wire.endTransmission() ;
if(log > 0 ){
Serial.print("Error");
Serial.print(log);
}
return log;
}
Output: 255
i2c сканер показывает адрес? Регистр 0xD0 читается?