eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaBrak komunikacji między Atmegą a modułem GSM po rs232Re: Brak komunikacji między Atmegą a modułem GSM po rs232
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!wsisiz.edu.pl!.POSTED!not-for-mail
    From: Atlantis <m...@w...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Brak komunikacji między Atmegą a modułem GSM po rs232
    Date: Sun, 23 Dec 2012 15:42:06 +0100
    Organization: http://www.wit.edu.pl
    Lines: 26
    Message-ID: <kb757t$7kp$1@portraits.wsisiz.edu.pl>
    References: <ka5cm1$mhd$1@portraits.wsisiz.edu.pl> <ka5e2c$lj0$1@node1.news.atman.pl>
    <ka5hcc$o9i$1@portraits.wsisiz.edu.pl>
    <ka5l1v$pp2$1@portraits.wsisiz.edu.pl> <ka5mfv$u2g$1@node1.news.atman.pl>
    <ka5o4e$qus$1@portraits.wsisiz.edu.pl> <ka5rqv$u5p$1@mx1.internetia.pl>
    <ka7vc3$1qf$1@portraits.wsisiz.edu.pl>
    <g...@n...chmurka.net>
    <kaansn$cp6$1@portraits.wsisiz.edu.pl>
    <kadac0$ptr$1@portraits.wsisiz.edu.pl>
    <50ca37de$0$26695$65785112@news.neostrada.pl>
    <kade5t$rht$1@portraits.wsisiz.edu.pl>
    <50ca5c8a$0$26694$65785112@news.neostrada.pl>
    <kag17a$80e$1@portraits.wsisiz.edu.pl>
    <a...@n...neostrada.pl>
    <kag9ro$bbq$1@portraits.wsisiz.edu.pl>
    <a...@n...neostrada.pl>
    <kaiaok$1d6$1@portraits.wsisiz.edu.pl>
    <a...@n...neostrada.pl>
    NNTP-Posting-Host: amn9.neoplus.adsl.tpnet.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: portraits.wsisiz.edu.pl 1356273725 7833 83.26.69.9 (23 Dec 2012 14:42:05
    GMT)
    X-Complaints-To: a...@w...edu.pl
    NNTP-Posting-Date: Sun, 23 Dec 2012 14:42:05 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/17.0 Thunderbird/17.0
    In-Reply-To: <a...@n...neostrada.pl>
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:639543
    [ ukryj 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.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: