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

[ATmega328P] [ATmega328P][C] - UART - Nieprawidłowe znaki na LCD przy 19200 baud

rafal_se 08 Kwi 2014 16:10 1557 3
REKLAMA
  • #1 13488738
    rafal_se
    Poziom 2  
    Witam,

    Od rana próbuję wykorzystać UART w ATmega328 do wyświetlania znaków na wyświetlaczu LCD. O ile na ATmega32 wszystko działa jak należy, tak na ATmega328P wyświetlają się już krzaki.

    Poniżej kod programu w C:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Podłączenie oraz konsola
    [ATmega328P] [ATmega328P][C] - UART - Nieprawidłowe znaki na LCD przy 19200 baud

    Oscylator zewnętrzny 16MHz.
    Szukałem po elektrodzie, kolegom pomaga zmiana częstotliwości. Ale w tym przypadku niestety nie.

    Co jeszcze może być źle?
  • REKLAMA
  • #2 13488805
    BlueDraco
    Specjalista - Mikrokontrolery
    Timingi LCD na pewno są błędne - odstęp pomiędzy poleceniami nie jest zachowany, za to nie wiadomo po co został wstawiony b. długi odstęp podczas przesyłania polecenia (100 ms zamiast 250/500 ns).
  • REKLAMA
  • #3 13489084
    rafal_se
    Poziom 2  
    A pomijając sam wyświetlacz. ATmega zwraca mi złe znaki jak na zdjęciu poniżej. Skróciłem do takiej postaci:

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


    [ATmega328P] [ATmega328P][C] - UART - Nieprawidłowe znaki na LCD przy 19200 baud
  • #4 13535496
    adambehnke
    Poziom 24  
    Czy na prawdę rzeczywisty schemat wygląda tak jak w symulatorze ISIS ?? Bo jeśli tak to co tu się dziwić. Dziwne że jeszcze tu cokolwiek działa. Gdzie układ MAX232 ? Chyba że przy symulacji nie jest potrzebny. Dodatkowo czy linie RXD i TXD nie powinny być skrzyżowane? Nie używam tego symulatora więc pytam z ciekawości , bo jest to dziwne.
REKLAMA