-
Data: 2012-12-23 15:42:06
Temat: Re: Brak komunikacji między Atmegą a modułem GSM po rs232
Od: Atlantis <m...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]BTW mam jeszcze jedno pytanie o obsługę bufora odbiorczego.
Mianowicie jak uniknąć sytuacji, kiedy jakiś błąd transmisji (np.
przeinaczony znak) uniemożliwi jego normalne wyczyszczenie? Normalnie w
tym przypadku mamy do czynienia z dwiema sytuacjami:
1. Wysyłanie polecenia do modułu i oczekiwanie na odpowiedź. Tutaj mogę
wyczyścić bufor przed rozpoczęciem tej procedury i przed jej
zakończeniem (bez względu na to, czy wynik będzie pozytywny czy nie).
2. Bardziej kłopotliwa jest jednak druga sytuacja, mianowicie
oczekiwanie na konkretną wiadomość, wysłaną przez moduł w przypadku
konkretnego zdarzenia (np. "RING\r\n\r\n" przy połączeniu przychodzącym)
tutaj bufor mogę wyczyścić dopiero w przypadku rozpoznania właściwej
komendy. A co, jeśli do bufora przyjdzie coś innego? Wtedy po prostu
kolejny komunikat zostanie do niego doklejony...
Poprzednio, gdy analizowałem komunikaty linijka po linijce, przepisując
je do innej tablicy ten problem nie występował - przyjście kolejnej
linijki czyściło bufor z jego poprzedniej zawartości.
Czy istnieje jakiś sposób na nauczenie programu rozróżniania
poszczególnych komunikatów jako odrębnych całości, nawet jeśli składają
się z kilku linii? Jedyne rozwiązanie jakie w tej chwili przychodzi mi
do głowy, to zastosowanie timera, który cyklicznie czyściłby bufor,
zapobiegając "sklejeniu" dwóch komunikatów.
Następne wpisy z tego wątku
- 23.12.12 23:45 Marek
- 23.12.12 23:50 Marek
- 24.12.12 11:39 J.F.
- 24.12.12 16:41 Marek
- 26.12.12 11:24 Atlantis
- 09.01.13 20:16 Atlantis
- 09.01.13 23:45 Grzegorz Niemirowski
- 10.01.13 19:02 Atlantis
- 10.01.13 19:09 Grzegorz Niemirowski
- 10.01.13 20:56 Atlantis
- 10.01.13 21:17 Grzegorz Niemirowski
- 10.01.13 21:45 Atlantis
- 10.01.13 21:58 Grzegorz Niemirowski
- 11.01.13 10:40 Piotr Gałka
- 11.01.13 18:43 Atlantis
Najnowsze wątki z tej grupy
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
- Wyświtlacz ramki cyfrowej
Najnowsze wątki
- 2025-02-10 Spalił się spaliniak
- 2025-02-10 zarowka wifi - z sensowna apka lub lepiej albo lokalnie lub przez web. I zeby harmonogram miala
- 2025-02-10 Chrzanów => Programista NodeJS <=
- 2025-02-10 Kraków => DevOps Engineer (Junior or Regular level) <=
- 2025-02-10 Dlaczego takie preferencje banków?
- 2025-02-10 Białystok => iOS Developer (Swift) <=
- 2025-02-10 Mińsk Mazowiecki => Team Lead / Tribe Lead FrontEnd <=
- 2025-02-10 Białystok => System Architect (Java background) <=
- 2025-02-10 Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- 2025-02-10 Szczecin => Senior Field Sales (system ERP) <=
- 2025-02-10 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-02-10 Chrzanów => Specjalista ds. public relations <=
- 2025-02-10 Chrzanów => NodeJS Developer <=
- 2025-02-10 Warszawa => JavaScript / Node / Fullstack Developer <=
- 2025-02-10 Gliwice => Ekspert IT (obszar systemów sieciowych) <=