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

atmega8 ustawienie dla kwarcu 1.8432MHz

Dziekan 29 Lis 2008 22:07 1690 5
REKLAMA
  • #1 5798908
    Dziekan
    Poziom 13  
    Witam

    Jak skonfigurować rejestry a Atmega8 do pracy z zewnętrznym zegarem o częstotliwości 1.8432MHz aby uzyskać prędkość 115200?

    #define F_CPU 18432800 //częstotliwość zegara w Hz
    #define UART_BAUD 115200 //prędkość transmisji
    #define UART_CONST (F_CPU/(16ul*UART_BAUD)-1)

    UBRR = (unsigned char)UART_CONST; // ustaw prędkość transmisji

    dobrze jest to ustawione? programuje układ programem AVRprog i tam jest zakładka advanced coś tam jeszcze należy ustawić?

    pozdr.
  • REKLAMA
  • #2 5798926
    snow
    Poziom 31  
    Na pewno masz błąd w wartości F_CPU. Poza tym trzeba fusebity ustawić na zew. kwarc
  • REKLAMA
  • #3 5799025
    Dziekan
    Poziom 13  
    tak myślałem właśnie ale możesz mi napisać tak krok po kroku jak to się robi jak się na tym znasz, bo nie chce popsuć tej biednej atmegi.
  • REKLAMA
  • REKLAMA
  • #5 5801652
    Dziekan
    Poziom 13  
    już zrobiłem i działa, mam jeszcze jedno pytanie jak ustawić predkość transmisji po rs-ie 115200 żeby korzystać z wewnetrznego oscylatora, on ma max 8MHz przestawiać go można w programie, a chodzi mi o 0% błędu UBRR czy można ustawić ten wewnętrzny zegar na takie czestotliwości pośrednie aby dopasowac się z czestotliwością z tabeli w datasheet.

    pozdrawiam
  • #6 5802198
    Freddy
    Poziom 43  
    Uściślij o jaki kwarc Ci chodzi ?
    w temacie masz 1.843 MHz , a w definicjach 10 razy więcej
    
    #define F_CPU 18432800 //częstotliwość 
    
REKLAMA