-
Data: 2013-02-23 13:02:00
Temat: sscanf() - co robię źle?
Od: Atlantis <m...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Co prawda pytanie dotyczy programowania, ale chodzi o programowanie AVR,
więc chyba mieści się w tematyce tej grupy. ;)
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.
Teraz jednak potrzebuję możliwości odczytania wartości liczbowych
zwracanych przez niektóre polecenia (AT+CPAS, AT+CSQ) i zapisania ich do
zmiennej liczbowej.
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:
sscanf(tablica, "+CPAS: %d\r", &zmienna_int);
następnie funkcja zwraca wartość zapisaną w zmiennej.
Robię coś nie tak? A może %d nie przyjmie liczby poprzedzonej zerami? Z
drugiej strony próbowałem także zapisu "+CPAS: 00%d\r" i także nic nie
dało...
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?
Następne wpisy z tego wątku
- 23.02.13 14:53 J.F.
- 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
- Czy cos fi przechodzi przez trafo separujące?
- śrubka masy
- Ciekawostka na dziś lock bity
- [OT] napisy w YT
- Było 83V
- Stare komputery
- Odbiornik ADS-B i wzmacniacze
- Thunderbird i dysk...
- opornosc falowa
- Bateria 9V 6F22, alkaliczna v cynkowa, samorozładowanie, bateria wysokiej trwałości do miernika
- Tani zakup z ali?
- w czasach LED komary mają ciężko
- walizka z kodami
- Rejestrator temperatur - termopara, siec
- Router LTE z możliwością zmian MTU
Najnowsze wątki
- 2025-08-06 Gdynia => Konsultant wdrożeniowy (systemy controlingowe) <=
- 2025-08-06 Białystok => Inżynier oprogramowania .Net <=
- 2025-08-06 "[...] sejmowe wystąpienie posłanki Klaudii Jachiry, która zakończyła je słowami ,,Sława Ukrainie"."
- 2025-08-05 "Chiny przekraczają w wydobyciu 4 mld ton węgla, Indie i USA ponad 1 mld, a Rosja 500 mln ton [...]"
- 2025-08-05 Panuje się 181 159,42 zł./mies. na posła w 2026r.
- 2025-08-05 "Chiny przekraczają w wydobyciu 4 mld ton węgla, Indie i USA ponad 1 mld, a Rosja 500 mln ton [...]"
- 2025-08-05 Czy cos fi przechodzi przez trafo separujące?
- 2025-08-05 kajaki i promile
- 2025-08-05 Re: Tesla jest bezpieczna, wczoraj spaliła się doszczętnie na Ursynowie i nikomu się nic nie stało
- 2025-08-05 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-08-05 Re: Atak na lekarza w Oławie. Policja zatrzymała sprawcę na lotnisku Polska Agencja Prasowa 4 sierpnia 2025, 12:16 FACEBOOK X E-MAIL KOPIUJ LINK W szpitalu w Oławie 37-letni pacjent zaatakował lekarza, po tym, jak ten odmówił mu wypisania długoterminowego
- 2025-08-05 B2B i książka przychodów i rozchodów
- 2025-08-04 Re: Atak na lekarza w Oławie. Policja zatrzymała sprawcę na lotnisku Polska Agencja Prasowa 4 sierpnia 2025, 12:16 FACEBOOK X E-MAIL KOPIUJ LINK W szpitalu w Oławie 37-letni pacjent zaatakował lekarza, po tym, jak ten odmówił mu wypisania długoterminowego
- 2025-08-04 Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- 2025-08-04 Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML