-
Data: 2013-02-23 14:53:05
Temat: Re: sscanf() - co robię źle?
Od: "J.F." <j...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Dnia Sat, 23 Feb 2013 13:02:00 +0100, Atlantis napisał(a):
> Mianowicie kontynuuję temat analizy odpowiedzi na komendy AT przy
> komunikacji między Atmegą8 a modułem GSM. Do tej pory stosowałem mało
> eleganckiego i mało rozwiązania nie wymagającego angażowania stdio.h.
Zawsze mozesz wrocic - lepiej korzystac ze zgrabnego i dzialajacego
rozwiazania, niz angazowac kobyle ktora robi za duzo i niepewnie.
> W przypadku polecenia AT+CPAS mój moduł GSM zawsze odpowiada w
> następujący sposób:
> "+CPAS: 00x\r\n" (x to liczba z zakresu 0-5)
> W odpowiedniej funkcji przepisuję znaki pojawiające się w buforze
> (circular buffer) do tabeli. Gdy pojawi się znak \r dopisuję za nim
> jeszcze zero, a potem przystępuję do wydzielenia wartości liczbowej:
Ja bym sie juz w to \r nie bawil.
> sscanf(tablica, "+CPAS: %d\r", &zmienna_int);
> Robię coś nie tak? A może %d nie przyjmie liczby poprzedzonej zerami?
Wyglada na to ze poprawnie wszystko.
http://www.cplusplus.com/reference/cstdio/scanf/
Ale sprawdz jeszcze raz czy _wszystko_ jest poprawnie, no i co zwraca
sscanf ?
tablica jest tablica znakow, zmienna_int zmienna int itp ?
> drugiej strony próbowałem także zapisu "+CPAS: 00%d\r" i także nic nie
> dało...
Jeszcze mozesz sprobowac %s i zobaczyc gdzie przerywa analize ...
hm, tego \r w formacie nie jestem pewien, moze usun ?
> Jak powinno wyglądać pobranie wartości zwracanych przez "AT+CSQ"?
> Format wygląda następująco: "+CSQ: xxx, xxx\r\n"
> Rozumiem, że sscanf(tablica, "+CSQ: %d, %d\r", zmienna1, zmienna2)
> również nie zadziała?
ale powinno.
J.
Następne wpisy z tego wątku
- 23.02.13 15:56 JDX
- 23.02.13 16:53 shg
- 23.02.13 20:55 Marek Borowski
- 23.02.13 22:07 Atlantis
- 24.02.13 12:12 J.F.
- 24.02.13 13:22 Atlantis
- 24.02.13 14:27 Pszemol
- 24.02.13 15:01 Atlantis
- 25.02.13 11:58 Adam Wysocki
- 25.02.13 11:59 Adam Wysocki
- 25.02.13 12:00 Adam Wysocki
- 26.02.13 20:42 Adam Dybkowski
- 27.02.13 02:27 Anerys
- 27.02.13 10:23 Adam Wysocki
Najnowsze wątki z tej grupy
- Jaka myjka ultradźwiękowa?
- Retro organizer ale współcześnie
- Skąd diody LED 1,5V?
- Apollo Comm
- PICkit3 mnie pokonał
- LEDy na choinkę zdechły
- Wtopa LED
- Miało być zniesienie abonamentu RTV, a jest podwyżka!!!
- Microsoft, C/C++ na Rust - news
- Pierwsza mapa kosmosu w 102 długościach fal podczerwieni! To początek nowej ery w astronomii
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- zasilacz
- Zegary DCF
- pompa CO
- 2,5 x więcej niż Li-Ion
Najnowsze wątki
- 2026-01-08 Agora zwalnia grupowo, mimo że w firmie pojawiły się zyski, czyli załoga zapracowała na siebie
- 2026-01-08 Agora zwalnia grupowo, mimo że w firmie pojawiły się zyski, czyli załoga zapracowała na siebie
- 2026-01-08 Dlaczego wrzucenie szkolnego krzyża do śmieci to zbrodnia mniejsza od zgaszenia sejmowej menory?
- 2026-01-08 NR 5G -- mity, hity, kity, bez satelity...
- 2026-01-07 Oszustwa w go go
- 2026-01-07 Jaka myjka ultradźwiękowa?
- 2026-01-07 POCO
- 2026-01-07 Kraków => Konsultant Microsoft Dynamics AX/365 SCM Consultant - Servi
- 2026-01-07 Kraków => Microsoft Dynamics AX/365 SCM Consultant - Service & Suppor
- 2026-01-06 I kolejny
- 2026-01-06 Retro organizer ale współcześnie
- 2026-01-06 Bowling
- 2026-01-06 Cyganie
- 2026-01-06 Rozwód w Santanderze z prostokątną kobietą...
- 2026-01-06 Skąd diody LED 1,5V?




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]