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

ATMEGA32 - HC-05: Błąd Przekroczono limit czasu semafora przy wejściu w tryb AT

tro0ek 17 Cze 2015 09:56 2748 33
  • #1 14778246
    tro0ek
    Poziom 9  
    Mam problem z modułem HC-05, który mam podpięty pod Atmege32. Po kolei opiszę swój problem. Na wyłączonym zasilaniu wciskam przycisk na module i załączam zasilanie, dioda zaczyna migać tak jakby moduł wszedł w tryb AT, ale chcąc się połączyć z nim przez RealTerm wyskakuje mi komunikat "Przekroczono limit czasu semafora". Mam 3 moduły i na każdym to samo, więc raczej nie możliwe aby były moduły uszkodzone, próbowałem też z innego komputera i to samo. Jest jakiś inny sposób aby wejść w tryb AT, czy może coś powinien odłączyć/podłączyć dodatkowo do modułu? Będę wdzięczny za jakąkolwiek pomoc
  • #2 14778282
    kindlar
    Poziom 42  
    Masz port com w komputerze czy przejściówkę?
  • #3 14778536
    tro0ek
    Poziom 9  
    Nie wiem czy dobrze zrozumiałem pytanie, podłączam się do kompa przez bluetooth ale do portu com
  • #4 14778803
    noel200
    Poziom 26  
    W trybie AT komunikacja z modułem może chyba odbywać się jedynie przewodowo, podłączając port com do pinów modułu.
    Poza tym domyślna prędkość jest 9600, a w trybie AT-38400.
  • #5 14778828
    tro0ek
    Poziom 9  
    Czyli jednak źle zrozumiałem :) Moduł mam podpięty do kompa przez programator USB ASP, zmieniałem prędkość na 38400
  • #7 14779018
    Konto nie istnieje
    Poziom 1  
  • #8 14779078
    tro0ek
    Poziom 9  
    Tak, programator jest moją przejściówką. Chcę wejść w tryb AT aby jeden moduł ustawić w tryb Master. Dioda miga co dwie sekundy, więc według opisu w sieci to aktywny jest tryb AT
  • #9 14780034
    noel200
    Poziom 26  
    No to jeżeli wybierasz dobrą prędkość i dobry port, to albo podłączyłeś kabelki źle, albo ta przejściówka nie jest przejściówką. Jak masz inną to sprawdź.
    Oczywiście poziomy to 3,3V, a nie 5V, wiesz o tym ?
    A może wprowadzasz komendy, które wymagają cały czas wysokiego stany na pinie 33 (chyba), czyli wciśniętego przycisku?
  • #10 14780260
    dondu
    Moderator na urlopie...
    Tutaj problem jest nieco bardziej skomplikowany:

    tro0ek napisał:
    ... ale chcąc się połączyć z nim przez RealTerm wyskakuje mi komunikat "Przekroczono limit czasu semafora".

    Miałem kiedyś taki komunikat, ale nie pamiętam jak sobie z tym poradziłem. Problem był chyba na poziomie systemu Windows (w moim przypadku XP).

    Temat jest pokłosiem dyskusji na blogu: http://mikrokontrolery.blogspot.com/2011/03/M...showComment=1434033878249#c417618983847661018
  • #11 14780349
    tro0ek
    Poziom 9  
    Nie mam innej przejściówki, żeby sprawdzić. Prędkość jest dobra, port też, poziom to 3,3V. Robię tak, że na wyłączonym zasilaniu naciskam przycisk, podłączam zasilanie i puszczam przycisk i dopiero wtedy próbuje podłączyć się do RealTerm'a ale próbowałem też się podłączyć z wciśniętym przyciskiem ale nie dało to żadnego efektu. Powiedzcie mi jeszcze czy RX i TX modułu mają być podpięte przez konwerter poziomów ze strony Dondu do Atmegi czy RX modułu podłączyć do TX modułu?
    Zainstalowałem jeszcze raz moduł i do którego portu powinienem się podłączyć? Bo jak podłączam pod 10 to wyrzuca ten błąd, a jak pod 12 to nic nie wyskakuje ale jak wpiszę jakąś komendę to nie dostaję żadnej odpowiedzi tylko cały czas pali się kwadrat TX.
    ATMEGA32 - HC-05: Błąd Przekroczono limit czasu semafora przy wejściu w tryb AT
  • #12 14780570
    noel200
    Poziom 26  
    A co ty chcesz od bluetooth? Masz problem z wysyłaniem komend w trybie AT.
    RX podłączasz do Tx i Tx podłączasz do RX swojej przejściówki na com, czyli programatora usbasp. Oczywiście przez konwerter poziomów.
    Programator masz podłączony do kompa przez bluetooth?
  • #13 14780741
    tro0ek
    Poziom 9  
    Wiem, że mam problem z wysłaniem komend AT ale muszę się jakoś połączyć z tym modułem, który zainstalował się na porcie 10 i 12 więc ten port muszę otworzyć w RealTerm. Programator podłączam do portu USB. W programatorze nie ma TX i RX, całość zasilam też z programatora napięciem 3,3V dlatego TX modułu podłączyłem przewodem pod RX modułu. Mój programator:
    ATMEGA32 - HC-05: Błąd Przekroczono limit czasu semafora przy wejściu w tryb AT
  • Pomocny post
    #14 14781009
    kindlar
    Poziom 42  
    Kolego tro0EK, zapomnij na chwilę, że moduł HC-05 TO BT. Trzeba go skonfigurować do współpracy z innymi urządzeniami. Programatora będziesz używał do programowania ATMEGI i z modułem hc-05 się nim nie połączysz. Mam akurat na stole układ podobny do twojego.
    ATMEGA32 - HC-05: Błąd Przekroczono limit czasu semafora przy wejściu w tryb AT
    Komunikacja RX TX- czyli konfiguracja modułu HC-05 odbywa się dzięki FTDI. Skonfigurowany HC resetujesz i powinien działać wg twoich ustawień. Czyli np szukać urządzenia i łączyć się tylko z nim. Po zainstalowaniu FDTI powstaje dodatkowy port com w komputerze, który otwierasz w RealTerm i gadasz z modułem hc-05 po linii RX TX. Dwa porty com które pokazujesz tworzy BT. Dlatego w pierwszym poście pytałem czy masz port com dedykowany do komunikacji po RX TX, modułu HC-05 przewodowo.
  • #15 14781037
    tro0ek
    Poziom 9  
    Czyli żeby nawiązać komunikację z tym wirtualnym portem potrzebuję przejściówkę RS232 do której podłączam RX i TX modułu, nie może to wszystko iść przez Atmegę i moją przejściówkę (USB ASP)?
  • Pomocny post
    #16 14781088
    kindlar
    Poziom 42  
    Potrzebujesz przejściówki po to aby skonfigurować HC do pracy, później możesz wykorzystać ją do komunikacji z atmegą żeby sprawdzić jak dziła program do obsługi BT na liniach RX TX. Możesz też dzięki niej wysłać komendy AT przez BT połączony z telefonem do modemu telefonu, odczytać smsy lub wysłać smsa.
  • #17 14781147
    tro0ek
    Poziom 9  
    ok, zamówiłem przejściówkę RS232 więc myślę, że początkiem przyszłego tygodnia będzie u mnie i wtedy przetestuję układ. Dziękuję za pomoc i dam znać jak przetestuję :)
  • #19 14781530
    tro0ek
    Poziom 9  
    Dondu mam Atmege32 :) Ale TX i RX modułu podłączyłem przez konwerter z twojego blogu do atmegi. Co muszę zrobić aby przez Atmege zrobić tą konfigurację, zaoszczędziłbym trochę czasu czekając na paczkę
  • #20 14781611
    dondu
    Moderator na urlopie...
    Niestety ATmega32 w tej wersji nie ma możliwości pracy z napięciem 3,3V. Musisz więc zastosować konwerter sygnałów taki jak w artykule lub inny. Skoro piszesz, że podłączyłeś taki jak na blogu to masz zapewne na myśli ten na tranzystorze BSS138. Jeśli więc prawidłowo ten konwerter zrobiłeś i podłączyłeś, to komunikacja musi działać poprawnie.

    Stąd pytanie uściślające: Komunkacja ATmega <-> HC-05 jest poprawna, czy także nie?
  • #21 14781634
    tro0ek
    Poziom 9  
    Komunikacja jest poprawna, mam program który wysyła adc przez uart i jeśli podłącze się przez RealTerm z modułem BT to widzę dane przychodzące
  • Pomocny post
    #22 14781669
    dondu
    Moderator na urlopie...
    OK, w takim razie sprzętowo HC<->ATmega32 jest OK, powinieneś więc teraz:
    - wejść w tryb AT zgodnie z artykułem (zwróć uwagę na ustawienia UART - dla obu trybów AT są różne),
    - wysłać z mikrokontrolera komendę AT oraz znaki końca komendy 0x0D i 0x0A
    - w odpowiedzi powinieneś otrzymać: OK

    Sprawdzałeś w taki sposób?
  • #23 14782005
    tro0ek
    Poziom 9  
    Mam program napisany tak, że wysyłam każdy znak w jednej ramce, więc u mnie powinno to wyglądać tak;
    ramka[0]='AT';
    ramka[1]=0x0D;
    ramka[2]=0x0A;
    Czy źle zrozumiałem o co chodzi?
  • #25 14782803
    tro0ek
    Poziom 9  
    Transmisja nie idzie jak moduł jest w trybie AT. Moduł BT mam zainstalowany na porcie 10 i 12, jak jest w trybie AT to mogę się połączyć tylko z portem 12 ale wtedy na każdej prędkości nic nie odbieram, w porcie 10 na każdej prędkości błąd z czasem semafora. W tryb AT wchodziłem drugim sposobem z twojego blogu. Jeśli normalnie wysyłam te znaki to w RealTerm pokazują się dziwne znaczki i nie wiem za bardzo co to ma być
    ATMEGA32 - HC-05: Błąd Przekroczono limit czasu semafora przy wejściu w tryb AT
  • #27 14782912
    tro0ek
    Poziom 9  
    Nie rozumiem w jaki sposób mam odczytać czy moduł odpowiedział OK, bo w tryb AT wchodzi, dioda miga tak jak w twoim artykule
  • #29 14783289
    tro0ek
    Poziom 9  
    Czyli mikrokontroler powinien być zarówno nadajnikiem, jak i odbiornikiem?
    Jeśli mój program jest dobrze napisany to zero odpowiedzi, pozatym moduł na chwilę wchodzi w tryb AT ale za ok.5 sek dioda zaczyna szybko migać tak jak wtedy kiedy nic nie jest do niego podłączone. Oto kod pętli nadawania i odbioru bo konfiguracja jest dobra:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
REKLAMA