Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
Delphi
Sériové rozhraní a mobil II (4. díl)
seriovy port
3. ledna 2002, 00.00 | Pokračování seriálu o komunikaci přes seriový port. Dnes navážeme na minulý článek a ukážeme si vyhodnocování odpovědí z mobilu.
Vyhodnocení odpovědí
Telefon nám většinou odpovídá takto: zadaný příkaz (záleží na příkazu ATE - viz minulý díl), 2 nové řádky, požadovaná data, nový řádek, odpověď (může nabývat několik hodnot - OK = příkaz proveden, ERROR = při provádění se vyskytla chyba atd., viz sada AT příkazů), nový řádek.
Tento způsob odpovědi je pro další zpracování nevhodný, proto musíme oddělit požadovaná data od pomocných. To si ukážeme na příkladu - získávání základních údajů o telefonu a jejich přehledné zobrazení.
Nový příkaz můžeme poslat tehdy, až dostaneme odpověď na předchozí (jinak se nám vrátí chyba). Nemůžeme najednou poslat několik příkazů a postupně čekat na jejich odpovědi. Tento fakt nám trochu ztížil zpracování.
Nejprve se "zbavíme" vracení zadání příkazu (echa) příkazem ATE0 ihned po startu programu (událost OnFormCreate). Telefon je pomalejší než PC, proto zastavíme činnost programu procedurou Sleep na 200 ms (nutno vyzkoušet - pokud nedáme telefonu dostatečný čas na zpracování příkazu, tak se může vrátit jen část dat apod., delší doba je lepší, ale nepotěšíme tím uživatele), aby měl telefon čas na zpracování.
|
Nyní čekáme na odpověď. Jakmile telefon pošle data, vyvolá se událost VaComm1RxChar. Zde přečteme data a upravíme je k dalšímu zpracování.
|
V proceduře Dalsi ukládáme podle typu AT příkazu (proměnná typ, která se mění při každém zadání AT příkazu) data do labelů a posíláme nový AT příkaz.
|
Uvedený příklad byl testovány na 2 Siemensech C35i bez problémů. Zde je k stažení jako projekt v Delphi.
Obsah seriálu (více o seriálu):
- Sériové rozhraní v Delphi (1. díl)
- Sériové rozhraní v Delphi (2. díl)
- Sériové rozhraní a mobil (3. díl)
- Sériové rozhraní a mobil II (4. díl)
- Seriové rozhraní: Přenos souborů (5. díl)
- Sériové rozhraní: Vstupy a výstupy (6. díl)
- Ovládejte spotřebiče přes sériový port (7. díl)
-
25. listopadu 2012
-
30. srpna 2002
-
10. října 2002
-
4. listopadu 2002
-
12. září 2002
-
25. listopadu 2012
-
28. července 1998
-
31. července 1998
-
28. srpna 1998
-
6. prosince 2000
-
27. prosince 2007
-
4. května 2007