Strona 1 z 1
Atmega328p - USART & CKDIV8
: wtorek 19 lis 2013, 22:39
autor: marecki-1993
Witam,
Jeśli taktuję kwarcem=16MHz to po ustawieniu CKDIV8 procesor jest taktowany 2MHz.
Czy USART będzie taktowany z 16MHz, czy 2MHz ?
Pozdrawiam.
: środa 20 lis 2013, 06:41
autor: Flora
Źródłem sterującym dla USARTa jest sygnał zegarowy po preskalerze (cały procesor pracuje z taką częstotliwością), czyli w Twoim przypadku będzie to częstotliwość 2MHz
Jest to rozrysowane w
dokumentacji na stronie 26.
: środa 20 lis 2013, 18:07
autor: marecki-1993
To dlaczego po wgraniu bootloadera dla Adruino (który emuluje STK500) i ustawieniu CKDIV8 jak w oryginale, bootloader komunikuje się z prędkością 57600 ?
Przecież dla tej prędkości na USART byłyby problemy z komunikacją (8,5% błędów).
: środa 20 lis 2013, 20:47
autor: ElSor
Może w bootloaderze jest ustawiany rejestr CLKPR – Clock Prescale Register (strona 37 w PDFie).
: środa 20 lis 2013, 21:05
autor: marecki-1993
Widziałem ten rejestr, ale nie za bardzo wiem jak on "działa".
Czy w każdym momencie można zmienić w programie częstotliwość taktowania procka ?
Czy niezależnie od ustawienia CKDIV8 można zmieniać CLKPR ?
: środa 20 lis 2013, 21:21
autor: ElSor
Tak to wygląda właśnie ale nie dam głowy, bo osobiście nie korzystałem z niego.
Napisz sobie prosty program z miganiem diody i sprawdź jak działa ten rejestr.