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

[ATmega16][C][TWI] Nie poprawna obsługa TWI

JkSabre 17 Wrz 2011 23:25 1459 3
REKLAMA
  • #1 9937603
    JkSabre
    Poziom 10  
    Witam, właściwi po raz pierwszy używam TWI.

    Do tej pory napisałem prosty program testowy, na podstawie datasheet-a,
    oraz jakichś kodów źródłowych znalezionych w sieci (Inicjalizacja TWI,
    Warunek Startu, Stopu, Wysłanie adresu oraz wysyłanie/odbieranie danych).
    Poszczególne operacje sygnalizuje sobie poprzez zapalenie/zgaszenie diody LED.

    Nie wiem czemu, ale nie ważne czy podłącze do mojej ATmegi jakiś układ TWI, czy nie ( nie podłączone piny SDA i SCL), cała sekwencja transmisji nie działa w praktyce, ale diody sygnalizują ze wszystko jest ok i powinno działać.

    Mógłby ktoś rzucić okiem i pomóc stwierdzić, jakie błędy popełniam.

    Poniżej Załącznik z kodem programu testowego:
  • REKLAMA
  • #2 9937775
    krru
    Poziom 33  
    Przede wszystkim nie sprawdzasz wyników operacji, więc nic dziwnego, że program dochodzi do końca.
    Trzeba sprawdzać resztę rejestru TWCR.
    Proponuje na początek napisać procedurę skanowania szyny TWI - tak by wypisała wszystkie adresy, na których coś odpowiada na wysłanie adresu. IMHO jest to dobre wprowadzenie do I2C.
  • REKLAMA
  • #3 9940334
    JkSabre
    Poziom 10  
    Zgadza się, że nie sprawdzam poprawności transmisji (w sumie to jest logiczne że wtedy program nie przechodził, jakoś o tym nie pomyślałem ;/).

    Jednak z tego co się orientuję, można się skomunikować przez TWI bez tego sprawdzania. Dlatego póki co, mam pytanie czy ten kod jest poprawny czy jeszcze czegoś mu brakuje, żeby transmisja przebiegła poprawnie (jak wspomniałem, pomijając sprawdzanie statusów).
  • #4 9940366
    krru
    Poziom 33  
    Owszem, można, ale w przypadku kłopotów zupełnie nie wiadomo o co chodzi. Raczej nie należy liczyć na to że układ i program tak po prostu ruszy od pierwszego razu. Od początku lepiej się przygotować na uruchamianie.
REKLAMA