Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

ARDUINO 2560 - KOMUNIKACJA PO RS232 INNYM URZADZENIEM

24 Mar 2014 23:16 1872 2
  • Poziom 10  
    ARDUINO 2560 - KOMUNIKACJA PO RS232 INNYM URZADZENIEM

    Witam,
    Próbuje sterować pewnym urządzeniem z portu UART Arduino za pomocą prostego programu.
    Arduino wyposażyłem w konwerter napiec MAX232.
    Moja sekwencja sterująca to "00h 01h" kiedy podłączyłem oscyloskop (i analizator obrazek powyżej) zamiast 00h 01h otrzymuje 30h 31h. Co ciekawe tak "mówi" analizator ale kiedy podłączyłem do Rs232 w PC na konsoli było ok (czyli 010101....)
    ale na analizatorze wyraźnie widać, ze jest 0x30 0x31. (patrz obrazek powyzej).
    Problem w tym ze moje urządzenie tez nie rozumie co do niego gada Arduino.
    oto prosty kod:
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Zdumiewa mnie fakt, że pomimo iż analizator/oscyloskop wyraźnie pokazuje przekłamanie to PC rozumie i wywala na konsoli to co powinien czyli 01010101...
    ... Nie wiem dlaczego spodziewał bym się raczej 3031
    Myślę że gdyby udało się skonfigurować Arduino UART tak aby na analizatorze byl poprawny odczyt wszystko by było OK.


    Zrobiłem jeszcze jeden test mianowicie połączyłem moje urządzenie z RS232 w PC w przez konsole com i wysłałem sekwencje 01 wszystko działa urządzenie daje prawidłową odpowiedz.
    Gdzie może tkwić błąd?

    Pozdrawiam Bart. :)

    Dodano po 3 [godziny] 30 [minuty]:

    Zamiast serial.print nalezy uzyc serial.write wszystko dziala piekniutko temat zamkniety dzieki ;)
  • Pomocny post
    Specjalista - Mikrokontrolery
    Wysyłasz wartość 0 i 1 funkcją print, czyli zamieniając je na tekst - cyfry. Cyfry 0 i 1 mają w ASCII kody 0x30 i 0x31. Terminal wyświetla Ci znaki, czyli cyfry "00" i "01". Analizator wyświetla szesnastkowo wartości przesyłanych bajtów, czyli 0x30 i 0x31.