Witam
Mam problem z wysłaniem bajta danych przez TWI, procesor ATMEGA8. Funkcje obsługi TWI TWI pisałem samodzielnie na podstawie informacji w internecie. Zawarte są w pliku I2C
Wykonuję prostą operację wysłania instrukcji resetu do układu MS5611.
Podglądając na analizatorze przebiegi na magistrali I2C widać że tylko leci tylko adres SLA+W, drugi bajt danych 0x1E nie wchodzi na magistralę.
Wydaje mi się że po bajcie zawierającym SLA+W brak potwierdzenia ACK.
Może ktoś podpowiedzieć co jest przyczyną braku funkcjonalności ? Moduł z układem MS5611 który jest tutaj jako slave jest nowy, też inny zawierający ten układ, który jest również nowy. Raczej mało prawdopodobne by były oba uszkodzone.
Czy ktoś może rzucić okiem na poprawność kodu ?
Mam problem z wysłaniem bajta danych przez TWI, procesor ATMEGA8. Funkcje obsługi TWI TWI pisałem samodzielnie na podstawie informacji w internecie. Zawarte są w pliku I2C
Kod: C / C++
Wykonuję prostą operację wysłania instrukcji resetu do układu MS5611.
Kod: C / C++
Podglądając na analizatorze przebiegi na magistrali I2C widać że tylko leci tylko adres SLA+W, drugi bajt danych 0x1E nie wchodzi na magistralę.
Wydaje mi się że po bajcie zawierającym SLA+W brak potwierdzenia ACK.
Może ktoś podpowiedzieć co jest przyczyną braku funkcjonalności ? Moduł z układem MS5611 który jest tutaj jako slave jest nowy, też inny zawierający ten układ, który jest również nowy. Raczej mało prawdopodobne by były oba uszkodzone.
Czy ktoś może rzucić okiem na poprawność kodu ?
