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

błędy przy kwarcu 16MHz i UARTcie 1200b ?

dasioo 05 Maj 2010 21:15 2033 24
REKLAMA
  • #1 8040050
    dasioo
    Poziom 14  
    Witam,
    Mam problem z odbieraniem po UART'cie.
    Atmega 644P 16MHz i specjalizowany układ z predkoscia 1200b. Nie moge z niego nic odebrac ani nawet smieci podczas gdy po terminalu z predkoscia 1200b smiga bezblednie. Uklad specjalizowany sprawny, program tez.
    Co jest zle????

    Proszę używać polskich znaków!
    Robak
  • REKLAMA
  • #2 8040090
    tadzik85
    Poziom 38  
    Ja w dokumentacji nie widzę by z takim kwarcem UART mógł pracować na 1200 :?:
  • REKLAMA
  • #3 8040103
    dasioo
    Poziom 14  
    ale smiga, ustawiam w programie 1200bod i w terminalu i mi smiga a z tym specjalizowanym juz nie i o co to chodzi????????
  • #4 8040178
    kots
    Poziom 12  
    By sprawdzić czy wejście masz dobre zapuść pętlę odczytu pina na którym jest wejście UARTA i sprawdzaj czy zmienia się gdy przychodzą dane.

    Jak się zmienia to tylko wina konfiguracji, jak nie to sprawdź czy podawanie sygnału na to wejście jest odczytywane, itd.

    KotS
  • #5 8040269
    dasioo
    Poziom 14  
    Atmega jest ok, Uarty chodza obydwa dobrze, jak podlaczam terminal to tez jest pełna wymiana danych i to przy 1200bod dla 16MHz kwarcu
    ALE JAK PODLACZE PLYTKE ZE SPECJALIZOWANYM UKLADEM (SPRAWNYM, 1200B) TO JUZ NIE ODBIERA MI PROCEK :(
  • #6 8040300
    tadzik85
    Poziom 38  
    Połączenia. Bity stopu i te sprawy. wszystko poprawnie ustawione?
  • REKLAMA
  • #7 8040317
    dasioo
    Poziom 14  
    dobrze, bo program przekladam z jednego procka na drugi i zmieniam tylko piny. na 8515 idzie a na 644 juz nie. jednak 8515 ma kwarc 4MHz a 644 16MHz. teoretycznie nie ma prawa isc ale idzie na terminalu, wiec co jest grane??
  • #8 8044695
    dasioo
    Poziom 14  
    To zapytam inaczej,
    czy miał ktoś problemy z transmisją UART 1200bod przy kwarcu 16MHz ??
    Czy ze wzrostem zegara transmisja UART musi też rosnąć dla prawidłowej komunikacji??
  • #9 8044909
    _Robak_
    Poziom 33  
    Dla 16MHz UBRR musi mieć wartość 0x0340, czy w odpowiedniej kolejności zapisujesz wartość rejestrów UBRRH i UBRRL?
  • #10 8044961
    august_
    Poziom 27  
    Oczywiście zmieniasz konfigurację UARTU dla 16MHz względem 4MHz?

    UART przecież może chodzić nawet z prędkością 7142kbps - co za problem.
    Pytanie tylko czy błąd nie jest zbyt duży dla urządzenia z którym się komunikujesz...
  • #11 8044964
    dasioo
    Poziom 14  
    ja korzystam aktualnie z Bascoma więc rejestrów nawet nie znam w AVRach
  • #12 8044979
    august_
    Poziom 27  
    No to musisz to sprawdzić, bo coś czuję, że tam może nie być 1200kbps.
  • #13 8045018
    dasioo
    Poziom 14  
    jak ustawie w bascomie 1200 i w terminalu 1200 to idzie, jak podniose w terminalu predkosc (bez podnoszenia w procku) to juz smieci wiec jest te 1200 z procka, problem sie zaczyna jak podlacze uklad specjalizowany, ktory ma 1200 a prockiem 1200 juz za chiny nie czyta.
  • #14 8045211
    markosik20
    Poziom 33  
    Cytat:

    . na 8515 idzie a na 644 juz nie. jednak 8515 ma kwarc 4MHz a 644 16MHz. teoretycznie nie ma prawa isc ale idzie na terminalu, wiec co jest grane??


    No właśnie..co jest grane?
    Aleś chłopie namieszał, czytałem trzy razy i nie wiem dalej czy Ty masz Atmegę8515 czy Atmegę644 czy pierwsze i "specjalizowany układ" czy drugie czy ...etc. Co łączysz ze sobą, czy Ty to naraz łączysz, czy osobno.....nie wiem. Weź no może napisz na spokojnie wszystko jeszcze raz.
  • REKLAMA
  • #15 8045330
    dasioo
    Poziom 14  
    Połączenia:
    UART 1200 na 8515 <-> UART 1200 na specjalizowany - OK
    UART 1200 na 644 <-> UART 1200 na specjalizowany - NOK
  • #16 8045860
    markosik20
    Poziom 33  
    A działa taka konfiguracja?

    Atmega8515 -> terminal PC;
    Atmega8515 <- terminal PC;
    Atmega644 -> terminal PC ;
    Atmega644 <- terminal PC;
    układ specjalizowany ->terminal PC;
    układ specjalizowany <- terminal PC;

    dasioo napisał:
    UART 1200 na 8515 <-> UART 1200 na specjalizowany - OK

    jest nieprawdziwe
    skoro
    dasioo napisał:

    układ specjalizowany <- terminal PC - niemożliwe do zrealizowania;


    Układ specjalizowany tylko wysyła dane, więc sprawdź czy dane poprawnie trafiają do terminala PC.
  • #17 8047599
    dasioo
    Poziom 14  
    Układ specjalizowany wysyła tylko z prędkością 1200b

    Dla 1200 bodów:
    Atmega8515 -> terminal PC - OK;
    Atmega8515 <- terminal PC - OK;
    Atmega644 -> terminal PC - OK ;
    Atmega644 <- terminal PC - OK;
    układ specjalizowany -> terminal PC - OK;
    układ specjalizowany <- terminal PC - niemożliwe do zrealizowania;
    Atmega644 < - układ specjalizowany - NOK


    Dla 9600 bodów:
    Atmega8515 -> terminal PC - OK;
    Atmega8515 <- terminal PC - OK;
    Atmega644 -> terminal PC - OK ;
    Atmega644 <- terminal PC - OK;
    układ specjalizowany -> terminal PC - NOK;
    układ specjalizowany <- terminal PC - niemożliwe do zrealizowania;
  • #18 8047789
    markosik20
    Poziom 33  
    Więc wychodzi na to że tylko Atmega644 nie odczytuje danych ze specjalizowanego układu ale z kolei odczytuje te same dane z terminala PC?....jeżeli tak , to dla mnie to są jakieś "nieziemskie zjawiska" :wink:
  • #19 8047804
    dasioo
    Poziom 14  
    markosik20 napisał:
    Więc wychodzi na to że tylko Atmega644 nie odczytuje danych ze specjalizowanego układu ale z kolei odczytuje te same dane z terminala PC?....jeżeli tak , to dla mnie to są jakieś "nieziemskie zjawiska" :wink:



    DOKŁADNIE TAK KOLEGO ;-)
  • #20 8049857
    _Robak_
    Poziom 33  
    Coś mi to nie pasuje, procesor nie może nic nie odbierać, jeśli uart działa a urządzenie nadaje. Musisz dostawać jakieś krzaki, sprawdź sobie w terminalu jaka gigantyczna musi być różnica w prędkościach żeby nic nie odebrać. Jeśli dostajesz krzaki sprawdź jak wyglądają, czy dostajesz za mało czy za dużo bajtów. Jeśli nic nie dostajesz, to stawiam na winę połączenia czy coś w ten deseń a nie softu.
  • #21 8249700
    dasioo
    Poziom 14  
    Przepraszam ale z natłoku innych projektów, poruszany problem w tym temacie musi trochę poczekać. Nie sprawdzałem ostatniej podpowiedzi.
  • #22 8250172
    gaskoin
    Poziom 38  
    a może jednak pokażesz te programy ? :P ja na bascomie się nie znam, ale może ktoś akurat będzie się znał
  • #23 8253185
    elektronik12z
    Poziom 13  
    Witam

    Ja miałem takie problemy na 12MHz, polecam dokumentację i sprawdzenie % błędu przy danych częstotliwościach i prędkościach transmisji (pkt. Examples of UBRRn Settings for Commonly Used Oscillator Frequencies). Polecam kwarc 3686400, 7372800, 11059200, 14745600 Hz.

    Pozdrawiam
  • #24 8254106
    asembler
    Poziom 32  
    A moze wystarczy zanegowac sygnał? Niektore uklady specjalizowane mogą dzialac na zanegowanym sygnale po to aby mozna było dla ochrony układu wstawic inwerter na wejscie.

    Pisownia...
    Robak
  • #25 9422570
    dasioo
    Poziom 14  
    asembler napisał:
    A moze wystarczy zanegowac sygnał?
    Pisownia...
    Robak


    Ale bez jego negacji inny procek spokojnie odbiera te same dane bez błędów.
REKLAMA