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

Komunikacja USI w trybie I2C master

mxseba 17 Wrz 2009 13:34 2548 4
REKLAMA
  • #1 7027673
    mxseba
    Poziom 12  
    Od kilku dni próbuje zmusić attiny2313 do komunikacji z pamięcią 24c16 przy pomocy interfejsu USI niestety z mizernym skutkiem, przeczytałem kilka not ale nie ma wprost podane jakie flagi w tym module użyć do nadawania bitu startu, stopu etc.. jeśli ktoś ma kod C lub asm z obsługą USI w trybie I2C master - byłbym wdzięczny !!!
  • REKLAMA
  • REKLAMA
  • #3 7028222
    mxseba
    Poziom 12  
    Tak ale tamten temat dotyczył programowej implementacji I2C a mi się rozchodzi o użycie sprzętowego USI wbudowanego w ten mikrokontroller do tejże pracy. Oczywiście mógłbym zrobić to programowo ale zabraknie pamięci na inne rzeczy które mają być w tym procku.
  • REKLAMA
  • #4 7029126
    bolcio
    Poziom 12  
    Od kilku dni również ślęczę nad zagadnieniem wykorzystania USI do implementacji interfejsu I2C. Co do generowania sekwencji startu lub stopu to nie jest to takie łatwe jak w typowych interfejsach sprzętowych TWI. W tym przypadku niektóre "elementy" protokołu komunikacyjnego trzeba realizować programowo. Tak naprawdę USI udostępnia jedynie 8 bitowy rejestr danych, 4 bitowy licznik oraz kilka przerwań i... róbcie z tym co chcecie. Faktycznie możliwości jest sporo.

    Jeżeli nie jesteś zbyt ambitny (bez obrazy) i nie chce Ci się niczego tworzyć to możesz pójść na łatwiznę i wykorzystać kod udostępniony przez ATMELa (http://atmel.com/dyn/resources/prod_documents/AVR310.zip).
REKLAMA