Skocz do zawartości

Atmega8L + MMA7455L TWI nic nie odbiera


Pomocna odpowiedź

No to co? Czy to jest gorsze od 0x15 albo 0x666? No, może z tym ostatnim to przesadziłem..

Przeczytaj inne rejestry. Może układ wykonał jeden pomiar i ten sam wynik jest wciąż dostępny. Porównaj XOUT8 z rejestrami 0 i 1. Przeczytaj inne rzeczy, rejestr stanu itp.

I może nadszedł czas na napisanie jakiejś obsługi UARTa? 😉

Nie ważne jaki adres wpisze czy 00, 06 07, 14 to awsze na wyjściu dostaje 0x84

Może trzeba wykorzystywać INT1 układu MMA (Interrupt 1/ Data Ready) i dopiero wtedy wysłać zapytanie? Czy to nie powinno mieć aż tak dużego znaczenia ?

Jutro jeszcze na oscyloskop skocze zobaczę co się dzieje w układzie.

No to jeszcze zajrzyj do kodu funkcji twi_read() i powiedz mi w jaki sposób oddaje ona swoją wartość..

EDIT: Mateusz, niektórzy powinni mieć zabronione używanie guzika EDIT. Mam wrażenie, że przez Ciebie zaliczą mnie do tej grupy.

  • Lubię! 1

loool no tak 🙂

unsigned char TWI_read(unsigned char ack)
{
TWCR=(1<<TWINT) | (ack<<TWEA) | (1<<TWEN);
while(!(TWCR & (1<<TWINT)));
return TWDR;
}

Tylko że dostaje teraz 0x00 cały czas.

Cały czas z różnych rejestrów, czy z tego samego? W katalogu stoi, że zera to właśnie domyślne zawartości większości rejestrów - sam zobacz. Może znajdziesz jakiś, który zerami nie jest. Moi kandydaci: I2CAD, TOUT, USRINF, WHOAMI. Zawsze możesz coś zapisać (tylko do niektórych oczywiście) i sprawdzić, czy wróciło. Albo zacząć pisać normalny driver tego układu, ustawić tryby pracy, kazać mu mierzyć i poczekać na wyniki 🙂

  • Lubię! 1

No tak device addres zwraca 0x1D czyli działa ! 🙂 To teraz pomęczę jakies pomiary które mi się przydadzą 🙂

To jest tylko część do robota a mianowicie kamerka FPV która będzie się ruszać za ruchami głowy osoby która będzie miała video gogle 🙂

[ Dodano: 13-02-2012, 18:51 ]

Dla ludzi którzy będą używali tego układu:

void MMA7455L_init()
{
char ITGWriteAddress = 0x1D << 1;
   char ITGReadAddress = (0x1D << 1) | 1<<0;
TWI();
}

A potem już można odczytywać wszystkie wartości zmierzone.

To jest tylko część do robota a mianowicie kamerka FPV która będzie się ruszać za ruchami głowy osoby która będzie miała video gogle 🙂

A konkretnie jaka to kamerka?

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...