Датчик BMP180, попытки получить калибровочный коэффициент по I2c.

gole00201
Offline
Зарегистрирован: 02.10.2020

Несколько дней мучаюсь с библиотекой 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

sadman41
Offline
Зарегистрирован: 19.10.2016

i2c сканер показывает адрес? Регистр 0xD0 читается?