Arduino Polska Forum
sprawdzenie linii kodu - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino)
+--- Dział: Programowanie w Arduino (https://forum.arduinopolska.pl/dzial-programowanie-w-arduino)
+--- Wątek: sprawdzenie linii kodu (/watek-sprawdzenie-linii-kodu)



sprawdzenie linii kodu - zbyszekproba - 10-03-2021

Witem serdecznie,
Próbuję rozwiązać problem już spory kawałek czasu i nie wychodzi dlatego proszę doświadczone osoby o pomoc.
Układ to Arduino UNO + moduł GSM SIM800L, chodzi o wykonywanie połączenia na zdefiniowany numer telefonu.

W pętli głównej umieściłem komendę wykonania połączenia poleceniem:
Kod:
GSM.print("ATD+485048..282;\r");

Telefon dzwoni, wszystko jest ok. Dalej wskazałem numer na początku programu (przed pętlą setup) aby mieć wszystkie definicje w jednym miejscu:

Kod:
const char numer[]="\"+485048..282\"";

Wracam do pętli głównej, zmieniam zapis na poniższy i nie mogę nawiązać połączenia. Próbuję różnych kombinacji zapisu, żadna z nich nie udała się, poniżej jedna z nich (próbowałem też rozdzielać na dwie komendy, niestety bezskutecznie). 

Kod:
GSM.print("ATD\numer\";\r");

Dodam, że definicja numeru telefonu jest ok, bo w innej części pętli głównej programu, z użyciem tej definicji, poprawnie zostaje wysłany sms.
Proszę o wskazanie jak powinien wyglądać prawidłowy zapis ww. linii kodu. Z góry dziękuję.


RE: sprawdzenie linii kodu - kaczakat - 12-03-2021

Na pewno mieszasz tekst, zmienne tekstowe i znaki specjalne. ATD\numer pewnie drukuje "ATD NL umer" - bez spacji. Poczytaj to: https://pl.wikibooks.org/wiki/C/Napisy .
Nie mam jak tego sprawdzić, na pewno tekst sklejony przed tą komendą i użyty jako całość zadziała, albo GSM.print("ATD"+numer+";\r"); .