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.

wysyłanie komend AT na RS232

tomek_programista 16 Mar 2011 12:55 1985 6
  • #1 16 Mar 2011 12:55
    tomek_programista
    Poziom 19  

    Wiatm
    Na własne potrzeby przerobiłem kod z tego tematu: Link

    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    Miał on wysłać komendę AT do telefonu.
    Niestety po wykonaniu programu z telefonem nic się nie dzieje.
    Dla czego? Co robię źle?

    0 6
  • Pomocny post
    #2 16 Mar 2011 13:44
    krru
    Poziom 32  

    Jest wiele błędów.
    Wysyłasz 10 razy znak A.

    Jak już się z tym uporasz, dodaj \n na końcu wysyłanej komendy.

    0
  • #3 16 Mar 2011 15:03
    tomek_programista
    Poziom 19  

    Poprawiłem tak jak napisałeś, ale nadal nic się nie dzieje.

    Zrzut z ekranu:

    Code:

    RS-232
    65
    Wyslalem: 0.000000
    84
    Wyslalem: 0.000000
    42
    Wyslalem: 0.000000
    115
    Wyslalem: 0.000000
    101
    Wyslalem: 0.000000
    109
    Wyslalem: 0.000000
    112
    Wyslalem: 0.000000
    61
    Wyslalem: 0.000000
    1
    Wyslalem: 0.000000
    10
    Wyslalem: 0.000000
    0
    Wyslalem: 0.000000
    Aby kontynuować, naciśnij dowolny klawisz . . .


    Poprawiony kod:
    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    0
  • #4 16 Mar 2011 15:23
    ^Rachel
    Poziom 21  

    Nie wiem gdzie to chcesz zastosować, ale zazwyczaj stosuje się jeden bit stopu, spróbuj ustawić jeden bit stopu i zmniejszyć prędkość do 9600 bodów.

    Zawsze lepiej testować na mniejszych prędkościach, a później ją zwiększać.

    0
  • #5 16 Mar 2011 15:33
    krru
    Poziom 32  

    Cytat:

    Kod: vb
    Zaloguj się, aby zobaczyć kod



    Czy jedynka ma być wysyłana jako tekst, czy jako wartość? Może powinno być '1' (w apostrofach)?
    Prościej będzie w/w zapisać jako

    Kod: vb
    Zaloguj się, aby zobaczyć kod


    Próbowałeś coś podobnego:

    Cytat:

    Kod: vb
    Zaloguj się, aby zobaczyć kod



    Tu chciałeś wysłać tą jedynkę tekstem.

    Cytat:

    Kod: vb
    Zaloguj się, aby zobaczyć kod



    Ciąg ma 10 znaków. Zero na końcu jest tylko dla użytku wewnętrznego programu. Nie ma potrzeby by go wysyłać. Jest zresztą funkcja strlen.

    Cytat:

    Kod: vb
    Zaloguj się, aby zobaczyć kod



    Nie bardzo wiem, w jakim celu wysyłasz znak po znaku - lepiej wysłać od razu całość

    Kod: vb
    Zaloguj się, aby zobaczyć kod



    Tak w ogóle to bawiłeś się tym ręcznie? Najlepiej uruchomić Hiperterminal, Putty albo coś podobnego, i sprawdzić co i jak trzeba wysłać, i co się dostaje jako odpowiedź.
    Zwykle po każdej komendzie odsyłana jest odpowiedź 'OK'.

    0
  • #6 16 Mar 2011 15:59
    Zadusiciel
    Poziom 13  

    czemu 'RS_buf' podajesz jako float: printf ("Wyslalem: %f \n", RS_buf);

    0
  • #7 16 Mar 2011 16:23
    tomek_programista
    Poziom 19  

    Zmieniłem według wskazówek, ale nadal nic się nie dzieje.

    0