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

RS232 - Błędne odczyty znaków między atmega1284 bez max232

iryseee 17 Lis 2013 11:03 1299 10
REKLAMA
  • #1 12961154
    iryseee
    Poziom 14  
    Witam wszystkich problem polega na tym że obie atmegi po podłączeniu do do PC wysyłają znaki prawidłowo przez max232.

    Układy połączone ze sobą bez max232 i po wysłaniu np. 255 drugi układ odczytuje cztery znaki 46 46 0d 0a . W takim razie w czym tkwi problem.
  • REKLAMA
  • #2 12961251
    excray
    Poziom 41  
    Problem jest w tym że nie załączyłeś kodu programu.
  • REKLAMA
  • #3 12961306
    iryseee
    Poziom 14  
    Proszę oto kod programu.
    Kod: text
    Zaloguj się, aby zobaczyć kod


    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #4 12961323
    tmf
    VIP Zasłużony dla elektroda
    iryseee napisał:
    Witam wszystkich problem polega na tym że obie atmegi po podłączeniu do do PC wysyłają znaki prawidłowo przez max232.

    Układy połączone ze sobą bez max232 i po wysłaniu np. 255 drugi układ odczytuje cztery znaki 46 46 0d 0a . W takim razie w czym tkwi problem.


    Masy obu układów są połączone?
  • REKLAMA
  • #5 12961359
    iryseee
    Poziom 14  
    Tak masy są połączone.
  • REKLAMA
  • #6 12961382
    excray
    Poziom 41  
    Czy obie atmegi są "pędzone" kwarcem 20MHz? Czy na pewno dobrze ustawiłeś fusebity?
  • #7 12961428
    iryseee
    Poziom 14  
    Tak na pewno 20mhz fusebity wydaje mi się że są dobrze skoro z pc nie ma problemów z transmisją.
    ale dołączam fotkę.
    RS232 - Błędne odczyty znaków między atmega1284 bez max232
  • #8 12961455
    zumek
    Poziom 39  
    iryseee napisał:
    .. drugi układ odczytuje cztery znaki 46 46 0d 0a .

    A czego się spodziewałeś :?:
    Polecenie
    Kod: text
    Zaloguj się, aby zobaczyć kod

    wysyła przez port szeregowy Twoją zmienną w postaci hexadecymalnej, czyli 255 dec="FF" hex i to, czyli dwa kody ASCII litery 'F', odczytuje Twój odbiorczy uC plus znaki CR(0d) i LF(0a)

    To tyle.
  • #9 12961526
    yokoon
    Poziom 29  
    iryseee napisał:
    Tak na pewno 20mhz fusebity wydaje mi się że są dobrze skoro z pc nie ma problemów z transmisją.
    ale dołączam fotkę.
    RS232 - Błędne odczyty znaków między atmega1284 bez max232


    Witam.
    Przecież na obrazku widać 8MHz a nie 20MHz.
  • Pomocny post
    #10 12961549
    excray
    Poziom 41  
    yokoon napisał:
    Przecież na obrazku widać 8MHz a nie 20MHz.

    To jest raczej zewnętrzny kwarc o częstotliwości >=8MHz
  • #11 12961568
    iryseee
    Poziom 14  
    Ok masz rację 46 hex to litera ascii f.
    Spodziewałem się ff .
    Wszystko jasne dzięki za pomoc.
REKLAMA