Zmienia się liczba próbek samplowania na 1 bit. Można pokusić się o ustawienie U2X = 1, ale wtedy dobrze by było zadbać o dobre źródło taktowania tj. zewnętrzny kwarc. Nie przejmowałbym się tym zbytnio, bo w większości przypadkach nie będziesz musiał tego bitu przestawiać. A te liczby obok UBRR to wartość którą powinno się wpisać do rejestru UBBRH i UBBRL, w celu ustawienia baud rate.
Jesli masz funkcje inicjalizująca UART np: z noty.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
to w argument funkcji USART_Init przekazujesz define wcześniej zdefinowanego tj MYUBRR, który jest obliczany ze wzoru(Niezbyt dobrego).
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Ale równie dobrze mógłbyś zrobić tak:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Wg mojej noty wartosc 51 to dla Atm328p baud rate 9600 dla 8MHz.
Niestety takie rozwiązanie nie jest zbyt dobre, gdyż za kazdym razem, jak zmienisz procesor,taktowanie itp, to bys musiał grzebać w nocie i sprawdzać ręcznie wartość UBRR. Dlatego wygodniej korzystać ze wzorku.
Poza tym widzę, że masz bluebooka a tam w rozdziałe o UART ten temat pod koniec rozdziału jest troszkę poruszony.