-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!news.e-wro.pl!not-for-mail
From: "J.F." <j...@p...onet.pl>
Newsgroups: pl.misc.elektronika
Subject: Re: sscanf() - co robię źle?
Date: Sat, 23 Feb 2013 14:53:05 +0100
Organization: Miejskie Sieci Informatyczne e-wro
Lines: 40
Message-ID: <1gjsq44nrfo9z.1ca2ws5pz1fdg$.dlg@40tude.net>
References: <kgab3v$bmc$1@portraits.wsisiz.edu.pl>
NNTP-Posting-Host: h82-143-187-50-static.e-wro.net.pl
Mime-Version: 1.0
Content-Type: text/plain; charset="iso-8859-2"
Content-Transfer-Encoding: 8bit
X-Trace: atena.e-wro.net 1361627553 7090 82.143.187.50 (23 Feb 2013 13:52:33 GMT)
X-Complaints-To: a...@e...pl
NNTP-Posting-Date: Sat, 23 Feb 2013 13:52:33 +0000 (UTC)
User-Agent: 40tude_Dialog/2.0.15.1pl
Xref: news-archive.icm.edu.pl pl.misc.elektronika:643049
[ ukryj 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
- DS1813-10 się psuje
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
- Opis produktu z Aliexpress
- No proszę, a śmialiście się z hindusów.
- Zewnętrzne napięcie referencyjne LM385 1,2V -> 100mV dla ICL7106, Metex M-3800
- karta parkingowa
- Wl/Wyl (On/Off) bialy/niebieski
- I3C
- Pytanie o transformator do dzwonka
- międzymordzie USB 3.2 jako 2.0
- elektronicy powinni pomysleć o karierze elektryka
Najnowsze wątki
- 2024-11-24 Aby WKOOOORWIĆ ekofaszystów ;-)
- 2024-11-22 OC - podwyżka
- 2024-11-22 wyszedł z domu bez buta
- 2024-11-22 Bieda hud.
- 2024-11-24 DS1813-10 się psuje
- 2024-11-23 Białystok => Inżynier bezpieczeństwa aplikacji <=
- 2024-11-23 Szczecin => QA Engineer <=
- 2024-11-23 Warszawa => SEO Specialist (15-20h tygodniowo) <=
- 2024-11-22 Warszawa => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-11-22 Warszawa => Senior Account Manager <=
- 2024-11-22 Warszawa => Key Account Manager <=
- 2024-11-22 Warszawa => DevOps Specialist <=
- 2024-11-22 Kraków => IT Expert (Network Systems area) <=
- 2024-11-22 Warszawa => Infrastructure Automation Engineer <=
- 2024-11-22 Warszawa => Presales / Inżynier Wsparcia Technicznego IT <=