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

Jak zainicjalizować TWI-I2C w asemblerze na ATmega8 do komunikacji z PCF8583?

mirekk36 23 Gru 2006 12:26 2097 4
REKLAMA
  • #1 3361885
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    Witam,

    zaczynam sobie właśnie robić pierwszy raz w życiu komunikację po I2C. Piszę w asemblerze. Chciałbym wykorzystać sprzętowe TWI które sobie "siedzi" w ATmegach ;) .... i tu mam mały problem ... tzn mętlik w głowie już ;)

    .... powinno być prościej niż programowo to robić czy też w oparciu o USI i tak to wygląda po ogólnym opisie rejestrów ale ...

    ... mógłby mi ktoś pomóc i jakoś w kilku krokach "pokazać" co po kolei zrobić żeby to zaininicjalizować, wysłać i odebrać bajty, potwierdzenia itp .... w oparciu o przerwania bądź "ręcznie" bez przerwań ;)

    ... albo może ktoś dysponuje jakimś kawałkiem kodu dla np ATmega8 z czymś takim - ale w asemblerze oczywiście?

    .... lub w jakiś inny sposób mnie na to naprowadzić, żeby z tym ruszyć bo na razie sam próbuję coś klecić ale słabe rezultaty ... a chcę żeby do porozumienia doszły: ATmega8 i zegarek PCF8583 ;)

    z góry dziękuję za sugestie i wszelką pomoc w tym temacie

    pozdrawiam
  • REKLAMA
  • #2 3362640
    Pituś Bajtuś
    Poziom 28  
    Posty: 934
    Pomógł: 137
    Ocena: 10
    W dataszitach do AVRów ze sprzętowym TWI są przykłady podstawowych operacji (zapis, odczyt) w asemblerze .
  • REKLAMA
  • #3 3364204
    johny_w
    Poziom 24  
    Posty: 673
    Pomógł: 80
    Ocena: 63
    Dokładnie. Gdy pierwszy raz musiałem zastosować I2C (TWI jak kto woli) skopiowałem po prostu kod z karty atmegi. Nawet nie zagłębiałem się zbytnio w rejestry. To co jest w dokumentacji zupełnie wystarcza. I nie są to tylko przykłady w asmie. Są również podane w C (przynajmniej dla mega32).
  • REKLAMA
  • #4 3365014
    mirekk36
    Poziom 42  
    Posty: 9195
    Pomógł: 964
    Ocena: 2289
    ok, dziękuję za zainteresowanie i podpowiedzi, rzeczywiście jakoś przeoczyłem w nocie te kawałki kodu w asm :Fade-color

    ... ale znalazłem też w necie 2 super krótkie i fajne procedurki na programowy I2C dla każdego AVRka. Jedna działa w trybie MASTER a druga w trybie SLAVE. Narazie na moje potrzeby okazało się, że absolutnie wystarczają. ;)

    pozdrawiam i wesołych świąt
  • #5 3365047
    szymtro
    Poziom 30  
    Posty: 1421
    Pomógł: 101
    Ocena: 59
    Poszukaj jeszcze moich postów na ten temat. Co prawda było to w bascomie ale operacje na rejestrach = da się zastosować gdziekolwiek. I tam było sprzętowe I2C slave w M8 z 4 zmiennymi które można było przeczytać sobie po i2c.
REKLAMA