-
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
- 8080
- Portowanie CP/M
- radyjko
- Re: Basen i chłodzenie w w wentylacji mechanicznej
- Akumulatory VRLA
- ładowarka zmarła
- Podstawa bezpiecznikowa jako rozłącznik DC
- Napięcie akumulatora wyłączające UPS / jakie nowe akumulatory do UPS?
- nawigacja satelitarna
- SmartLife/Tuya i osuszanie -- mordowanie z zimną krwią...
- Głośnik piezoelektryczny
- Mala autonomiczna kamera monitoringu
- czas na emeryturę i EB
- Generowanie sumy kontrolnej z fragmentu pliku bin
- Re: Mala autonomiczna kamera monitoringu
Najnowsze wątki
- 2024-07-11 Tokarze CNC czyli ciężkie życie prototypiarza
- 2024-07-12 Zgody na przetwarzanie danych
- 2024-07-13 IObit Uninstaller Pro 13.6.0.5 Multilingual: Installation Guide
- 2024-07-12 stare graty młode kozy
- 2024-07-11 8080
- 2024-07-13 Przyłącze dolne grzejnika
- 2024-07-13 IObit Uninstaller Pro 13.6.0.5 Multilingual Overview
- 2024-07-12 Czym wykonać otwór fi 100 w betonie komórkowym?
- 2024-07-12 Warszawa => Senior Rust Software Engineer <=
- 2024-07-12 Warszawa => Business Unit Manager (Recruitment Business) <=
- 2024-07-12 Warszawa => Head of WMS Competence Center for IT&D Contract Logistics
- 2024-07-12 Warszawa => Head od WMS Competence Center dla IT&D (Blue Yonder) <=
- 2024-07-12 Kraków => Ruby Backend Developer <=
- 2024-07-12 Warszawa => UX/UI Designer <=
- 2024-07-12 Częstochowa => Specjalista ds. Marketingu (E-Commerce) <=