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

Atmega8 i RS232 – błędna komunikacja, zamiast danych pojawiają się krzaki

rafcikj 21 Gru 2007 18:42 1864 5
REKLAMA
  • #1 4611295
    rafcikj
    Poziom 10  
    Posty: 14
    Witam,
    Mam kłopot z komunikacją poprzez rs232 i atmega8.
    Kupiłem juz trzeci uC i sam nie wiem co zrobić.

    Wszytko teoretycznie działa ale zamiast danych otrzymuje krzaki. Hex otrzyje: 80 00 80 80 80 00 00 80 00
    dla kodu :
    
    $regfile = "m8def.dat"
    
    $crystal = 8000000
    
    $baud = 19200
    
    Do
    
     Print Chr(99)
     Wait 1
    
    Loop
    
    End
    


    Prosze o jakąś wsazówkę gdzie mam szukać.

    Z góry dziękuję i pozdrawiam.
    Rafał
  • REKLAMA
  • Pomocny post
    #2 4611462
    m_zim
    Poziom 18  
    Posty: 170
    Pomógł: 23
    Ocena: 1
    Szukałbym problemu w FUSE bits w ATmega. Prawdopodobnie źle jest tam skonfigurowane taktowanie.

    pozdrawiam
  • REKLAMA
  • Pomocny post
    #3 4611540
    kamyczek
    Poziom 38  
    Posty: 3994
    Pomógł: 394
    Ocena: 571
    Jak chcesz sie upewnić wylutyj kwarca jak mega dalej wysyła to działa na oscylatorze wewnętrznym RC. ustaw fuse bity i bedzie ok
  • REKLAMA
  • Pomocny post
    #4 4611560
    M. S.
    Poziom 34  
    Posty: 2107
    Pomógł: 259
    Ocena: 680
    M8 ładnie przy tej prędkości 19200 śmiga na 4 lub 8MHz generatorze wewnętrznym. Jak nie zmieniałeś Fusebitów to działać nie będzie - oryginalnie taktowana jest 1MHz i błąd transmisji jest za duży.
  • REKLAMA
  • #5 4614796
    rafcikj
    Poziom 10  
    Posty: 14
    Dziękuję za informacje.
    Przestawiłem Fusebit na zewnętrzny kwarc i zaczęło działać :)
  • #6 4614903
    kamyczek
    Poziom 38  
    Posty: 3994
    Pomógł: 394
    Ocena: 571
    Musisz pamiętać żeby zerknąć w dokumentację procesora na stronie producenta tam zawsze jest zaznaczone jak jest ustawiony procesor gdy go dostajesz do ręki a z tego co pamiętam tam gdzie jest oscylator rc jest on aktywny tak żeby zaprogramować procka w układzie nawet jeśli nie ma w nim rezonatora kwarcowego. Z moich obserwacji wynika że przyczyna nieprawidłowo działających programów to wlaśnie fuse bity. W przypadku gdy nie korzysta sie z uarta czy nie odmierza sie czasu wielu nie zwraca na to uwagi.. działa - działa i tyle ;)
REKLAMA