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

[ATmega8][C] - Połączenie przez bluetooth, nie reaguje

wrobel94 20 Lut 2013 20:44 1257 2
  • #1 20 Lut 2013 20:44
    wrobel94
    Poziom 1  

    Witam,
    buduję model pojazdu gąsienicowego sterowanego za pomocą telefonu z systemem android po przez moduł BTM222. Od dłuższego czasu próbuję uzyskać reakcję ze strony atmegi lecz bezskutecznie. Wyprowadzenia PORTC 0-3 podłączone są pod mostek h L298n. Aplikacja łączy się z modułem lecz przy wysłaniu komendy miga tylko dioda DATA przy BTM. Podejrzewam, że jest to spowodowane błędem w kodzie sterownika, także proszę o sprawdzenie niżej zamieszczonego kodu.

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0 2
  • #2 20 Lut 2013 21:07
    BlueDraco
    Specjalista - Mikrokontrolery

    Takie użycie przerwania UART jest bez sensu. łatwiej odbierać w pętli. Równie dobrze możesz też wrzucić całe sterowanie z pętli do obsługi przerwania UART - chyba nawet będzie zgrabniej.
    Nadawanie UART też błędne - czekasz na gotowość po wrzuceniu bajtu zamiast przed. Po co?
    To raczej nie źródła błędu, ale wypada to wyprostować.

    Może nie wystawiasz sygnału, którego wymaga ten moduł - jakiś RTS?

    0
  • #3 09 Mar 2013 16:30
    Defozo
    Poziom 17  

    Po pierwsze:
    Chyba nie do końca dobrze wyliczasz UART_UBRR.
    Najpewniejszy wzór to:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Po drugie:
    Pamiętaj, że standardowa prędkość przesyłania danych w BTM-222 to 19200bps.
    Ty masz ją ustawioną w kodzie na 9600bps!
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Podaję przykładowy kod:
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Nie jestem specjalistą, ale może moje amatorskie wskazówki Ci pomogą,
    Defozo

    0