Cześć
Mam problem z komunikacją pomiędzy mikrokontrolerem LPC1114/302 a modułem pomiaru odległości VL53L1X. Komunikacja odbywać się ma poprzez I2C.
Wykorzystuję bibliotekę do I2c, którą ściągnąłem z oficjalnej strony NXP. Wygląda ona tak:
Adres czujnika odległości to 0x52. By sprawdzić komunikację zgodnie z sugestią producenta odczytuję zawartość rejestru 0x010F pod którym ma się znajdować 0xEA.
Oto funkcja odczytująca jeden bajt ze slave. Odczytuję jeden bajt oraz zapisuję trzy, jeden to adres urządzenia z bitem read (0x53) a dwa pozostałe to adres rejestru zgodnie z rysunkiem poniżej.
Funkcja main wygląda następująco:
Oto co odczytuję ze sniffera
Program co jakiś czas powinien odczytać zawartość rejestru 0x010F a dzieje się coś dziwnego. Program od razu po wysłaniu adresu z bitem read 0x53 (0x29 i 0x1) wysyła bajty. Co ciekawe te bajty nie są losowe. Za każdym razem gdy resetuje zasilanie są one identyczne tj. 0x01, 0x29, 0x02, 0x10, 0x00 itd..
Poniżej screen pojedynczej ramki
Z góry dziękuję za każdą pomoc.
Mam problem z komunikacją pomiędzy mikrokontrolerem LPC1114/302 a modułem pomiaru odległości VL53L1X. Komunikacja odbywać się ma poprzez I2C.
Wykorzystuję bibliotekę do I2c, którą ściągnąłem z oficjalnej strony NXP. Wygląda ona tak:
Kod: C / C++
Adres czujnika odległości to 0x52. By sprawdzić komunikację zgodnie z sugestią producenta odczytuję zawartość rejestru 0x010F pod którym ma się znajdować 0xEA.
Oto funkcja odczytująca jeden bajt ze slave. Odczytuję jeden bajt oraz zapisuję trzy, jeden to adres urządzenia z bitem read (0x53) a dwa pozostałe to adres rejestru zgodnie z rysunkiem poniżej.
Kod: C / C++
Funkcja main wygląda następująco:
Kod: C / C++
Oto co odczytuję ze sniffera
Program co jakiś czas powinien odczytać zawartość rejestru 0x010F a dzieje się coś dziwnego. Program od razu po wysłaniu adresu z bitem read 0x53 (0x29 i 0x1) wysyła bajty. Co ciekawe te bajty nie są losowe. Za każdym razem gdy resetuje zasilanie są one identyczne tj. 0x01, 0x29, 0x02, 0x10, 0x00 itd..
Poniżej screen pojedynczej ramki
Z góry dziękuję za każdą pomoc.