Датчик 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 читается?