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

Jak ustawić maksymalną prędkość USART w PIC16F882 przy 12MHz?

cjtomekk 14 Mar 2009 15:26 1110 1
REKLAMA
  • #1 6280579
    cjtomekk
    Poziom 12  
    Posty: 83
    Ocena: 1
    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 :D troche sie zdziwiłem bo na forach różnych piszą że 115200 to max a tu taka niespodzianka :) teraz pozostaje sprawdzić rzeczywisty transfer...
  • REKLAMA
  • #2 6320426
    cjtomekk
    Poziom 12  
    Posty: 83
    Ocena: 1
    Hmm niby taki baud a przesył rzeczywisty to 14.5kB, troche mało...
REKLAMA