Odpowiedz 
 
Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
ATxMega128 i TWI - problemy... cd
SQ8MVY Offline
Paweł
****

Liczba postów: 724
Dołączył: 30-07-2011
Post: #19
RE: ATxMega128 i TWI - problemy... cd
Nie podejrzewaj jeszcze pamięci !!!.

W tej Twojej Modyfikacji masz babola.
Wysyłasz 2 bajty adresu komórki pamięci - ok - tak powinno być.

A to co robisz w następnych liniach :
Kod:
TWIC_MASTER_ADDR = addr;                                    //adres ukladu + WR, generuje START
    while(!(TWIC_MASTER_STATUS & TWI_MASTER_WIF_bm));            //wait for WIF
    twic_result = twic_test_result();                            //wez status operacji
    if (twic_result != TWI_ACK) return 0;                        //ACK idz dalej, inny zwracaj kod bledu

    //nadaj adres do odczytu
    TWIC_MASTER_ADDR = addr | 0x01;                                //adres ukladu I2C + RD
    while(!(TWIC_MASTER_STATUS & TWI_MASTER_RIF_bm));            //czekaj na zakonczenie odbioru
    
    data = TWIC_MASTER_DATA;                                    //odczytany bajt
jest prawdopodobnie źle. Zobacz do noty producenta - strona 11

Po wysłaniu adresu komórki pamięci należy wygenerować START podając adres układu slave z ustawionym bitem READ ( addr |0x01 ).

U Ciebie - wysyłasz adres układu z bitem WRITE - generując START i następnie ponownie wysyłasz adres układu ale już z bitem READ - ponownie generując START

I tu się robi (tak mi się wydaje) zamieszanie obecnie...

73 Paweł
(Ten post był ostatnio modyfikowany: 14-12-2016 21:17 przez SQ8MVY.)
14-12-2016 21:16
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Odpowiedz 


Wiadomości w tym wątku
RE: ATxMega128 i TWI - problemy... cd - SQ8MVY - 14-12-2016 21:16

Skocz do:


Użytkownicy przeglądający ten wątek: 5 gości