-
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
- Rejestrator temperatur - termopara, siec
- Router LTE z możliwością zmian MTU
- Fajny film widziałem...
- Jaka ładowarka sieciowa do Iphona?
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Wkrętarki, wiertarki...
- Zasilacz impulsowy 12V 10A, coś godnego uwagi jako zamiennik akumulatora wkrętarki
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
- FV--> ciepła woda w kranie
- Szok
Najnowsze wątki
- 2025-07-14 granice
- 2025-07-14 Awaria VM?
- 2025-07-14 Gdańsk => Programista Kotlin <=
- 2025-07-14 Warszawa => Junior Rekruter <=
- 2025-07-14 Warszawa => Specjalista rekrutacji IT <=
- 2025-07-14 Wkłady do zniczy...
- 2025-07-14 Warszawa => Specjalista ds. Sprzętu Komputerowego <=
- 2025-07-14 Re: PO chroniło i chroni policyjnych bandziorów [zawiasy za katowanie obywatela (Poznań czerwiec 2012)]
- 2025-07-14 Warszawa => International Freight Forwarder <=
- 2025-07-14 Warszawa => Recruiter 360 <=
- 2025-07-14 Re: Rz?Âd ZAKAZUJE magazyn?Â?w energii ?!! Nowe prawo od 14 lipca to SZOK! ??Â
- 2025-07-14 Warszawa => Sales Assistant <=
- 2025-07-13 Fałszywe alerty
- 2025-07-12 dlaczego gadacie z tym debilem
- 2025-07-13 Unia Europejska przygotowuje nowy podatek