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

Xmega32A4U nie wysyła danych do HC-05 przez USART - brak znaków w terminalu

xeev 24 Lut 2019 20:32 411 2
REKLAMA
  • #1 17802260
    xeev
    Poziom 8  
    Cześć,
    mam problem z komunikacją z modułem HC-05 za pomocą USART, operuję na uC xmega32A4U więc wspiera komunikację po USB z wykorzystaniem CDC. Komunikacja USB CDC działa, mogę wyświetlać różne wiadomości do serialu. Mam problem z komunikacją z modułem HC-05 - po odpaleniu terminala nie mogę wpisywać znaków (znaki nie pojawiają się pomimo ich wysyłania/ wciskania). Do testów używam programu z kursu ESP8266 WiFi: Podłączenie modułu i komunikacja z komputerem Pana Tomasza. Program działa w przypadku zastosowania modułu GPS (neo6m) - wysyła ciągle dane lokalizacyjne po serialu, nic nie odbiera, a dane te wyświetlane są na terminalu PC. Idąc tym tropem pewnie mam problem z wysyłaniem danych. Program jest 1:1 jak z kursu, nic nie zmieniałem. Czy powinienem coś jeszcze ustawić w uC, żeby komunikacja działała poprawnie (fusebity itp)? Identyczne zachowanie mam przy używaniu modułu GSM sim800 - na terminalu nie pojawiają się wysyłane dane.

    Schemat podłączenia:
    xmega - hc05
    3.3V - VCC
    PC2 - TX
    PC3 - RX
    GND - GND

    sprawdzałem też z zamienionymi PC2, PC3. Moduły działają bo podłączałem je do arduino i komunikowałem się z nimi przy użyciu biblioteki SoftwareSerial po serialu bez problemu (komendy AT). Sprawdzałem już różne kombinacje, połączenia ale już nie mam pomysłu co może być nie tak :(
    Czy mógłby mi ktoś doradzić co robię nie tak?
  • REKLAMA
  • #2 17802324
    tmf
    VIP Zasłużony dla elektroda
    A jak z ustawioną szybkością USART? W przykłądzie szybkość drugiego portu USART ustawiana jest na szybkość wybraną w terminalu podczas łączenia urządzeń przez CDC. Poza tym w przykładzie znaki są odsyłane, jeśli podłączone urządzenie je odsyła. Jeśli moduł BT ma wyłączone echo to znaków w terminalu nie zobaczysz, pomimo, że wszystko działa.
    Najprościej sprawdzić układ w ten sposób, że zwierasz piny RxD i TxD w XMEGA na porcie pod który miałeś podłączony BT i jeśli wszystko jest ok, to w terminalu powinieneś zobaczyć to co nadajesz. Jeśli tu jest ok, to przyczyny szukaj w module BT.
  • #3 17802466
    xeev
    Poziom 8  
    Bardzo dziękuję za odpowiedź. Chodziło mi o artykuł ESP8266 WiFi: Podłączenie modułu i komunikacja z komputerem i na jego podstawie testuje moduł BT. Zapomniałem dodać, że sprawdzałem wszystkie prędkości baund rate i za każdym razem efekt jest ten sam. Moduł raczej jest sprawy bo pod arduino działa bez problemów.

    tmf napisał:
    Najprościej sprawdzić układ w ten sposób, że zwierasz piny RxD i TxD w XMEGA na porcie pod który miałeś podłączony BT i jeśli wszystko jest ok, to w terminalu powinieneś zobaczyć to co nadajesz. Jeśli tu jest ok, to przyczyny szukaj w module BT.


    Jeżeli dobrze zrozumiałem to odłączyłem moduł, zwarłem ze sobą dwa piny RX i TX USART pod które był podpięty moduł (aktualnie to PD2 i PD3 bo już myślałem, że nie działają mi te pod PC) wysłałem jeden znak i w odpowiedzi dostaje nieskończoną ilość znaków.
REKLAMA