Witam,
postanowiłem poprosić tu o pomoc, gdyż skończyły mi się pomysły na rozwiązanie problemu.
Korzystam ze znanej wszystkim biblioteki TWI i na tej podstawie testuję MPU6050.
Jednakże nie działa komunikacja
I2C.
Do debugowania zamiast diody używam LCD (na którym ostatecznie będę wyświetlał wyniki
z MPU).
Oto main:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Biblioteka TWI:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
I mój plik .c
z prostą obsługą modułu MPU6050:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Pliku biblio.h nie wrzucałem, bo wszystkie 'define' wplotłem w powyższe kody plików *.c.
Procesor to Atmega32, 16MHz, wszystko ładnie ustawione w projekcie (sczytane przez eclipse).
Jeśli chodzi o PODŁĄCZENIE, jest bardzo proste więc szybkie fotki zamiast schematu:
Nie jestem pewien czy wszystko się zgadza. Jak widać, podłączyłem MPU bezpośrednio do zasilania
z płytki, gdyż...
Na konwerterze (który dziś kupiłem) po podłączeniu 5V do HV, na pinie LV pojawia się 2,8V. Nie wiem czy to normalne?
Z tego powodu MPU zasilane jest
z 5V, ale działa (świeci się dioda) również na 3.3V
z płytki. Wtedy na LV konwertera jest 3.3V.
Bardzo proszę o pomoc, ponieważ niestety nie mam innego urządzenia
z I2C żeby sprawdzić program i konwerter
@Edit: dołączam 2 noty katalogowe o MPU6050
z których korzystam
@Edit 2: był błąd w podłączeniu, zająłem piny PC6 i PC7 zamiast PC0 i PC1 (SCL i SDA). Poprawiłem, ale wciąż nie działa.