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

AT90CAN128 - UART RS-232, problem z prędkością 115200, MAX232, 16 MHz kwarc

djduri 25 Maj 2013 19:27 1767 6
REKLAMA
  • #1 12345028
    djduri
    Poziom 14  
    Proszę o pomoc.
    Mam oprogramować moduł UART - RS232 w AT90CAN128. Płytkę dostałem już gotową. Oczywiście komunikacja poprzez MAX232.
    Do procesora podłączony jest zewnętrzny kwarc 16.000. tzn procek ma działać z częstotliwością 16 MHz. Fusebity są już niby poprawnie ustawione, a moim zadaniem jest tylko oprogramowanie komunikacji RS-232 z prędkością 115200.

    No i pojawia się problem. Kiedy wgrywam kod jak poniżej (ale z ustawioną prędkością 115200) to w terminalu pojawiają mi się jakieś krzaki. Gdy wysyłam dane z terminala do procka to na płytce miga dioda że niby coś przychodzi jednak nie dostaję tego w terminalu zwróconego. Coś jest nie tak. Jak ustawię prędkość na 9600 to w terminalu odbierane znaki są już poprawne tzn. ten napis który procek wysyła na początku (choć niekiedy dziwnym trafem pojawia się dwa razy nie wiem czemu). Ale z tym wysłaniem do terminala odebranych danych jest to samo tzn. nic nie przychodzi. Miga dioda ale procek tak jakby nie wysyła tego co dostał. Tak jakby nic nie odebrał.

    Bardzo Was proszę o jakieś porady... Co może być przyczyną takiego stanu rzeczy.

    Programtor którego używam to avrisp mkII

    Kod programu:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Fusebity są ustawione tak:
    AT90CAN128 - UART RS-232, problem z prędkością 115200, MAX232, 16 MHz kwarc
  • REKLAMA
  • #2 12345095
    piotrva
    VIP Zasłużony dla elektroda
    Zerknij tu: http://www.atmel.com/Images/doc7679.pdf na stronę 203 i odpowiednią pozycję tabelki.
    Przypuszczam, że tym leży problem ;)
  • REKLAMA
  • #3 12346038
    djduri
    Poziom 14  
    wpisywałem też na sztywno z tego wartości i nic to nie dało... taki sam efekt.... przecież to jest z tego wzoru wyliczane i jest ta sama wartość.
  • REKLAMA
  • #4 12346137
    piotrva
    VIP Zasłużony dla elektroda
    Chyba nie zrozumiał Kolega o która kolumnę mi chodziło...
    ERROR...
  • #5 12347309
    djduri
    Poziom 14  
    no ale zeby wszystkie znaki były błedne ??
  • REKLAMA
  • #7 12351498
    djduri
    Poziom 14  
    Zerknijcie czy ten kod z przerwaniem wygląda ok ? Jak coś wysyłam diody nie zmieniają swojęgo stanu. :/ Czy może być winą zasilanie ? Bo napięcie mam odpowiednie.

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
REKLAMA