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

Atmega64-16PU - TWI: Rejestr TWCR pokazuje nieoczekiwane wartości, brak transmisji

wojekkk 17 Sty 2013 19:29 1341 2
REKLAMA
  • #1 11803086
    wojekkk
    Poziom 18  
    Witam.

    Mam niesamowita zagadke. Próbuje uruchomić TWI na mikrokontrolerze ATMEGA64-16PU. Problem jest nastepujacy iż TWI nie działa... :) Co ciekawe rejestr TWCR pokazuje cały czas wartość 10100100 czyli TWINT, TWSTA oraz TWEN mimo że wogóle nie inicjuje jego wartosci. Próbowalem w Atmedze 8 i kod działa bezproblemowo. Odczytujac w niej TWCR bez inicjacji wartości uzyskuje same zera. Procka mam już 2 sztuke gdyż myślałem ze poprzednia była wadliwa a tu takie same objawy. Czy ktoś spotkał się może z takim przypadkiem? Chyba że jest coś skopane i rejestr TWCR nie znajduje się pod adresem 0x74? Już cały dzien z tym walcze i nie moge dojść co jest grane...

    Dziekuje z góry za pomoc. :)



    TWCR powinien wskazywac 0b00000000 a jak sie teraz okazalo wskazuje różnie zalezy jak padnie ale nigdy same zera. Po inicjalizacji TWI tak jak w datasheecie transmisja nie dziala. Na ATMEGA8 działa.

    Zauwazyłem tez pewna rzecz.

    Wszystkie rejestry które w dokumentacji sa oznaczone np "0x12 (0x32)" odczytuja sie dobrze a te ponad oznaczone od "(0x61)" w góre, które sa odczytywanie poleceniem "_SFR_MEM8(adres)" odczytuja glupoty. PORTF pokazuje jakies przypadkowe bity itp. Odczytanie rejestru poleceniem "_SFR_IO8(adres-0x20)" daje taki sam rezultat czyli to chyba nie problem z procedura. Odczytanie w asemblerze tez daje to samo.

    To nie moze być przypadek bo mega 8, 16, 32 Nie posiada rejestru z pojedynczym oznaczeniem i one odczytuja i dzialaja ok.

    Pracuje w AVRStudio 4 i 5.

    Na symulacji w Avrstudio jest ok. W Avr Simulator IDE tez jest ok. Na innych prockach niz atmega64 jest ok.

    Ja juz nie wiem :)


    Oto kod :)


    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
    [/code]



    Disassemblacja kodu tez wyglada ok

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #3 11804740
    wojekkk
    Poziom 18  
    No szlag by trafil.....

    Mega miała włączony bit "ATMEGA 103 compatibility mode" Po wyłaczeniu wszystko smiga...

    2 dni w plecy..

    No coż bede pamietał na przyszłość.


    Pozdrawiam :)
REKLAMA