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

ustawienie UART, co to ul ?

karbon 02 Sie 2010 21:35 1220 4
REKLAMA
  • #1 8358648
    karbon
    Poziom 21  
    Witam!

    według noty katalogowej ATmega8 ustawienie rejestrów aby włączyć uart wykonywane jest następująco:

    
    #define USART_BAUD 19200
    #define USART_CONST (F_CPU/(16ul*USART_BAUD)-1)
    
    void init ()
    {
      UBRRH = (unsigned char)(USART_CONST>>8); 
      UBRRL = (unsigned char)USART_CONST; 
    
      UCSRB = (1<<TXEN) | (1<<RXEN) | (1<<RXCIE);
      UCSRC = (1<<URSEL) | (1<<UCSZ0) | (1<<UCSZ1);
    }
    


    Czy ktoś może odpowiedzieć mi co to jest ul przed liczbą 16?
    Bez tego ul obliczenia nie wychodzą poprawne.

    Pozdrawiam
  • REKLAMA
  • #2 8358685
    tadzik85
    Poziom 38  
    Dzięki temu 16 zapisywane jest jako liczba long bez znaku.
  • REKLAMA
  • #3 8359813
    karbon
    Poziom 21  
    Czyli całe obliczenie wykonywane jest już na zmiennych typu long ?
  • REKLAMA
  • Pomocny post
    #4 8359821
    tadzik85
    Poziom 38  
    Dokładnie, Bez podania UL blędny wynik spowodowany jest za małą dokładnością obliczeń.
  • #5 8360087
    karbon
    Poziom 21  
    Albo przepełnieniem zmiennej.
    Wielkie dzięki za pomoc.
REKLAMA