Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

XMEGA 128A1U - XMEGA LCD hd44780 przez TWI (I2C) PCF8574T

kamil1555 10 Sty 2016 10:19 1254 8
  • #1 10 Sty 2016 10:19
    kamil1555
    Poziom 9  

    Witam. Przekopałem dość dużą ilość stron internetowych w poszukiwaniu działającego przykładu uruchomienia wyświetlacza na sterowniku hd44780 poprzez interfejs TWI (I2C) (PCF8574T) na xmega 128A1U i nic konkretnego nie znalazłem. Sam wyświetlacz uruchomiłem, lecz chcę wykorzystać interfejs TWI, aby zmniejszyć ilość wyprowadzeń, a do tego posiadam pod ręką expander PCF8574T. Czy posiada ktoś gotową bibliotekę lub może wskazać gdzie takową znajdę? Dodam, że programuję w ATMEL STUDIO w języku C.

    Przy okazji mam pytanie jak wyłączyć w xmega 128A1U jtag, gdyż przez to mam nieaktywne piny PB4 do PB7. Czytałem, że robi się to przez fusebity, lecz nic konkretnego nie znalazłem. Programuję przez PDI lub czasami przez Flipa, więc JTag mi niepotrzebny.

    Wiem, że najlepiej napisać coś samemu, aby się nauczyć, lecz jak na razie mnie to przerasta, a dość dobrze można nauczyć się na przykładach. A do tego dla kolejnych kroków nauki działający prawidłowo wyświetlacz na pewno się bardzo przyda.

    0 8
  • #2 10 Sty 2016 10:57
    excray
    Poziom 39  

    Na stronie wydawnictwa Helion przy książkach kolegi tmf (Tomasz Francuz) są przykładowe kody do pobrania.

    0
  • #3 10 Sty 2016 11:02
    kamil1555
    Poziom 9  

    Mam obie książki dotyczące xmega i korzystam. Bardzo przydatne i to jedyny tak dobry i szeroko opisany materiał na temat xmega w naszym języku, lecz niestety nie znalazłem tam obsługi LCD poprzez TWI.

    0
  • #5 10 Sty 2016 11:23
    kamil1555
    Poziom 9  

    Dziękuję za linki, lecz znam je już i niestety na ich podstawie nie jestem w stanie stworzyć własnej biblioteki do obsługi LCD przez TWI, a tam nie ma takiego przykładu. Kiedyś nawet sam Tomasz Francuz napisał:

    tmf napisał:
    Starą bibliotekę możesz wyrzucić - w XMEGA obsługa TWI/I2C wygląda zupełnie inaczej, więc podstawowe funkcje komunikacji musisz napisać od nowa lub poszukać w sieci gotowców. Są przykłądy Atmela ale oparte na ASF, IMHO masakra.

    w tym temacie: https://www.elektroda.pl/rtvforum/viewtopic.php?p=14638033#postingbox

    0
  • Pomocny post
    #6 10 Sty 2016 11:56
    tmf
    Moderator Mikrokontrolery Projektowanie

    Niestety TWI się w książce o XMEGA nie zmieściło. Osobiście gorąco zniechęcam do używania TWI/I2C - porządnie napisana obsługa tego interfejsu, z uwzględnieniem wszelkich błędów jakie na nim mogą występować oraz zakleszczenia transmisji nie jest banalna. W necie jest pełno przykładów, jak taką obsługę zrobić byle jak, w efekcie użytkownicy później piszą, że im się I2C zawiesza itd. Prawdopodobnie wkrótce umieszczę na blogu kol. Dondu przykład TWI na XMEGA, ale to kwestia miesiąca. W międzyczasie zerknij na:
    http://www.fourwalledcubicle.com/files/LUFA/D...1/html/group___group___t_w_i___x_m_e_g_a.html

    Biąrąc pod uwagę osobę autora śmiało mogę polecić ten kod.

    0
  • #7 10 Sty 2016 12:32
    kamil1555
    Poziom 9  

    Dziękuję za pomoc w tym temacie i za wyjaśnienie tego co i jak. W takim razie dopóki nie pojawi się artykuł to pozostanę przy obsłudze LCD bez TWI. A co do linku bardzo dziękuje, bo mam kilka czujników z wyjściami SDA i SCL, więc będę kombinował, aby coś z nich odczytać.

    Teraz zostało moje drugie pytanie:
    Jak wyłączyć w xmega 128A1U interfejs JTAG, gdyż przez to mam nieaktywne piny PB4 do PB7. Czytałem, że robi się to przez fusebity, ale nie znalazłem jakiegokolwiek "how to".

    0
  • Pomocny post
    #8 10 Sty 2016 18:10
    tmf
    Moderator Mikrokontrolery Projektowanie

    Używasz Atmel Studio? Jeśli tak, to w okienku Device Programming wchodzisz w zakładkę Fuses i odznaczasz JTAGEN po czym klikasz na Program. Można go też zablokować programowo, ale trzeba to robić po każdym uruchomieniu programu.

    0
  • #9 10 Sty 2016 19:56
    kamil1555
    Poziom 9  

    Super. Dziękuję bardzo. Czasami coś jest proste, ale na pierwszy rzut oka tego nie widać. Już porty mi działają. W takim razie czekam na przykład z TWI na XMEGA. Pozdrawiam i dziękuję kolegom za zainteresowanie tematem.

    0