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

konfiguracja ramki danych UART - ATmega8 [C]

Włodar 14 Mar 2009 20:23 2960 2
REKLAMA
  • #1 6281904
    Włodar
    Poziom 10  
    Witam!

    Mam pewien problem z ustawieniem ilości danych w ramce danych. W manualu do ATmega8 jest pewna tabelka, która uzależnia ilość danych w ramce od konfiguracji trzech bitów: UCSZ0 UCSZ1 UCSZ2 znajdujących się w rejestrze UCSRC ( tutaj strona 157). Okazuje się, że aby mieć w ramce 8 bitów danych to nalezy ustawić UCSZ0, oraz UCSZ1 na 1. Zadziwiające jest to, że:
    1. Gdy tak ustawię to UART w ogóle nie działa
    2. Widziałem nie raz na forum konfigurację UARTa, gdzie tylko UCSZ0 był ustawiony a autor w komentarzu pisał, że jego ramka ma 8 bitów danych.
    3. Gdy użyłem "Waszych" konfiguracji, gdzie tylko UCSZ0 jest ustawiony to mój UART działa jednak mój projekt wymaga pewności, że ramka ma 8 bitów a ta rozbieżność pomiędzy manualem, rzeczywistością a forum jest dla mnie trochę kłopotliwa.

    Co Wy na to?

    Pozdrawiam ;)
  • REKLAMA
  • Pomocny post
    #2 6281986
    Galareta
    Poziom 23  
    UCSRC = (1<<URSEL)|(1<<USBS)|(3<<UCSZ0);
    // z manualna Atmegi zapożyczone:) i działa jako 8b czyli UCSZ0 = 1 oraz UCSZ1 = 1 ;) (3 << UCSZ0) to jest 11 przesunięte o miejsce w rejestrze bitu UCSZ0

    Dodano po 8 [minuty]:

    01 to raczej 7b po mojemu:]
  • #3 6282591
    Włodar
    Poziom 10  
    Dzięki. Masz rację. Udało się to skonfigurować.
REKLAMA