Witam
Aktualnie pracuje nad projektem uczelnianym, którego jedną z części jest uruchomienie czujnika BMP180. Komunikuje się on z procesorem za pomocą magistrali I2C. Komunikacja z magistralą napisana jest na podstawie książki M.Kardasia ,,Mikrokontrolery AVR. Język C - podstawy programowania." Chciałem ją przetetsować odpytując ów czujnik o jego ID. zgodnie ze specyfikacją czujnik ma adres 0x77 co uwzględniając 7 bitowe adresowanie na I2C daje nam 0xEE. ID urządzenia znajduje się w rejestrze o adrsie 0xD0 tak więc o ten adres się odpytuje jednak w odpowiedzi czujnik zwraca mi 0xEF a więc adres samego urządzenia z ustawioną flagą zapisu.
Kod komunikacji I2C:
main:
Prosiłbym o pomoc w ustaleniu co może być problemem. Czy jest to może wina zepsutego czujnika?
Aktualnie pracuje nad projektem uczelnianym, którego jedną z części jest uruchomienie czujnika BMP180. Komunikuje się on z procesorem za pomocą magistrali I2C. Komunikacja z magistralą napisana jest na podstawie książki M.Kardasia ,,Mikrokontrolery AVR. Język C - podstawy programowania." Chciałem ją przetetsować odpytując ów czujnik o jego ID. zgodnie ze specyfikacją czujnik ma adres 0x77 co uwzględniając 7 bitowe adresowanie na I2C daje nam 0xEE. ID urządzenia znajduje się w rejestrze o adrsie 0xD0 tak więc o ten adres się odpytuje jednak w odpowiedzi czujnik zwraca mi 0xEF a więc adres samego urządzenia z ustawioną flagą zapisu.
Kod komunikacji I2C:
Kod: C / C++
main:
Kod: C / C++
Prosiłbym o pomoc w ustaleniu co może być problemem. Czy jest to może wina zepsutego czujnika?