logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Atmega8L + MMA7455L TWI nic nie odbiera

mati1988k 05 Lut 2012 16:12 764 0
REKLAMA
  • #1 10499478
    mati1988k
    Poziom 13  
    Witam.

    Napisałem prosty program do odbioru danych z akcelerometru MMA7455L. W zasadzie chcę odebrać tylko 8 bits output value X adres: $06. Jednak na wyjściu funkcji read_czujnik() dostaje wartość 9C która zapewne nie jest przypadkowo wartością wpisywaną w TWI_write(0x9C); na chwilę przed odbiorem.

    main.c
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    TWI_lib.c
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Więc to co się dzieje ja widzę tak:

    Wysyłam sygnał START potem wpisuje adres urządzenia 0x1C bo do pinu 4 podłączone jest GND i najbardziej znaczący bit jest 0 aby wpisać dane.
    Następnie wpisujemy adres danej którą chcemy odczytać. Następnie znowu wysyłamy start i adres urządzenia 0x9C bo bit 7 jest teraz jedynką aby slave wysłał nam dane. Odczytujemy dane i zwracamy wartość. Ale czemu zwrócona wartość to 9C ?
  • REKLAMA
REKLAMA