Witam,
chciałbym używać USARTa z maksymalną prędkością.
Datasheed 16F882
na stronie 163 są dane o nastawianiu prędkości.
Korzystam z mikroC. Zagar to 12Mhz.
Z podanego wzorku udało mi sie ustalić że max dla podstawowego wywołania
USART_init(93600) //93600 baud
i działa ok.
Potem zauważyłem że można ustawić BRG16 i BRGH na 1 i wyciąnąć teoretycznie większe prędkości. Jednak ustawienie odpowiednich bitów na 1 (przed albo po USART_init) powoduje brak komunikacji. Może o czymś nie wiem...
Napisałem sobie prog do wyliczania baudów dla minimalnego błędu (<0.05%) i dla defaultowych nastawów działa super. Wyliczone wartości dla nastawionych bitów podanych powyżej nie powoduje poprawnej komunikacji, tzn. nic nie nadaje (może też nie odbiera).
Proszę o pomoc...
Dodano po 4 [godziny] 53 [minuty]:
Bardzo dziwne ale teraz juz działa lepiej
RX/TX na max dla 12Mhz czyli baud 375000
troche sie zdziwiłem bo na forach różnych piszą że 115200 to max a tu taka niespodzianka
teraz pozostaje sprawdzić rzeczywisty transfer...
chciałbym używać USARTa z maksymalną prędkością.
Datasheed 16F882
na stronie 163 są dane o nastawianiu prędkości.
Korzystam z mikroC. Zagar to 12Mhz.
Z podanego wzorku udało mi sie ustalić że max dla podstawowego wywołania
USART_init(93600) //93600 baud
i działa ok.
Potem zauważyłem że można ustawić BRG16 i BRGH na 1 i wyciąnąć teoretycznie większe prędkości. Jednak ustawienie odpowiednich bitów na 1 (przed albo po USART_init) powoduje brak komunikacji. Może o czymś nie wiem...
Napisałem sobie prog do wyliczania baudów dla minimalnego błędu (<0.05%) i dla defaultowych nastawów działa super. Wyliczone wartości dla nastawionych bitów podanych powyżej nie powoduje poprawnej komunikacji, tzn. nic nie nadaje (może też nie odbiera).
Proszę o pomoc...
Dodano po 4 [godziny] 53 [minuty]:
Bardzo dziwne ale teraz juz działa lepiej