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

Błędne wyświetlanie znaków w terminalu przy korzystaniu z UART w atmega328p, kwarc 16MHZ

Tokio123 15 Paź 2020 17:59 588 2
REKLAMA
  • #1 18979587
    Tokio123
    Poziom 5  
    Witam!

    Mam problem z uartem w atmega328p nie wiem co może być przyczyną, ponieważ kod wziąłem z PDF od atmegi328p. W terminalu po wysłaniu litery "A", pokazuje się coś takiego "č". Pracuję na kwarcu 16MHZ i baudrate 115200. Bardzo proszę o pomoc!
    Niżej wklejam kod
    main:
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Plik .h:
    Kod: text
    Zaloguj się, aby zobaczyć kod


    Plik .c:
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #2 18980675
    szelus
    Poziom 34  
    A na pewno włączyłeś generator kwarcowy w fuse bitach?
  • #3 18981922
    trol.six
    Poziom 31  
    1. j.w. Jakie masz fusebity?

    2. To jest prosty wzór który liczy tylko dla dokładnych wartości, jednak w tym przypadku UBRR będzie 7, co da szybkość transmisji 125000. Dla wartości UBRR 8 będzie to 111111, co da błąd 3,5% w.g noty. Można to troche poprawić ustawiając U2X w rejestrze UCSR0A. W nocie jest tabelka dla różnych częstotliwości kwarcu i transmisji.

    3. Czy używasz przejściówki? Testowałeś ją?
    .
REKLAMA