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

C8051F020 i RS232, wysyłanie danych, nic nie odbieram.

arkady25 17 Gru 2007 15:28 1230 1
REKLAMA
  • #1 4597169
    arkady25
    Poziom 16  
    Posty: 360
    Pomógł: 5
    Ocena: 18
    Witam,

    mam do napisania w asemblerze programik wysyłający po łączu szeregowym kolejne liczby, od 0 do 255, po naciśnięciu przycisku.
    Czy mogę was prosić o sprawdzenie części odpowiedzialnej za konfigurację UART.
    Nie odbieram nic na kompie no i nie wiem gdzie leży problem
    Kwarc ma 22,1184 MHz.

    Pozdrawiam
    Załączniki:
    • STARTUP.txt (789 Bajtów) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • Pomocny post
    #2 4603207
    VanThor
    Poziom 19  
    Posty: 224
    Pomógł: 34
    Ocena: 5
    1. Ustawienia są niekompletne: zapomniałeś włączyć i skonfigurować matrycę krosującą (Crossbar) odpowiadającą za przypisania sygnałów urządzeń peryferyjnych do wyprowadzeń układu.
    Jeśli chcesz sprawdzić jak należy skonfigurować mikrokontroler (jego peryferia) to możesz użyć programu Configuration Wizard 2 udostępniony na stronie producenta. Wprawdzie wygeneruje on kod w języku C, ale ponieważ będą to wpisy do odpowiednich rejestrów (ewentualnie proste pętle opóźniające) to nie powinno być żadnego problemu z przepisaniem tego do asemblera.

    2. Wysyłania bajtu przez port szeregowy nie inicjuje się poprzez:


    Wystarczy zapisać bajt do wysłania do rejestru SBUF.
    Potem trzeba poczekać, aż bit TI zostanie ustawiony (co będzie oznaczać, że znak został wysłany). Następnie należy wyzerować bit TI i dopiero można zapisać do SBUF kolejny bajt do wysłania.


    Wygenerowałem w programie wspomnianym w punkcie 1 plik konfiguracji zgodnie z tym, co napisałeś, że chcesz uzyskać:
    Załączniki:
    • InitF020.c (2.57 KB) Musisz być zalogowany, aby pobrać ten załącznik.
REKLAMA