eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaModbus, mierzenie odstępu między znakami i paczkamiRe: Modbus, mierzenie odstępu między znakami i paczkami
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
    .pl!news.nask.org.pl!news.unit0.net!news.glorb.com!peer01.iad.highwinds-media.c
    om!news.highwinds-media.com!feed-me.highwinds-media.com!nx02.iad01.newshosting.
    com!newshosting.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-
    b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
    From: "michal" <...@b...pl>
    Newsgroups: pl.misc.elektronika
    References: <5341b961$0$2228$65785112@news.neostrada.pl>
    Subject: Re: Modbus, mierzenie odstępu między znakami i paczkami
    Date: Mon, 7 Apr 2014 18:16:05 +0200
    X-Priority: 3
    X-MSMail-Priority: Normal
    X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
    X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
    X-RFC2646: Format=Flowed; Response
    Lines: 39
    Message-ID: <5342cf47$0$2163$65785112@news.neostrada.pl>
    Organization: Telekomunikacja Polska
    NNTP-Posting-Host: 83.10.91.55
    X-Trace: 1396887367 unt-rea-a-02.news.neostrada.pl 2163 83.10.91.55:20465
    X-Complaints-To: a...@n...neostrada.pl
    X-Received-Bytes: 2378
    X-Received-Body-CRC: 3009057393
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:662624
    [ ukryj nagłówki ]


    Użytkownik "Robbo" <n...@g...com> napisał w wiadomości
    news:5341b961$0$2228$65785112@news.neostrada.pl...
    > Witam uprzejmie,
    >
    > Tworzę bibliotekę Modbus/RTU w języku C, łącze szeregowe, slave, która
    > będzie działać na mikrokontrolerze ATmega. Korzystam ze sprzętowego
    > USART-a w ATmega. Zgodnie ze standardem Modbus dla łącza szeregowego,
    > odstęp między znakami w pojedynczej paczce nie może być większy niż 1,5 *
    > czas_przesyłania_pojedynczego_znaku. Natomiast odstęp między paczkami
    > powinien być większy niż 3,5 * czas_przesyłania_pojedynczego_znaku. Jest
    > to pokazane na stronie nr 13 tego dokumentu:
    > http://modbus.org/docs/Modbus_over_serial_line_V1_02
    .pdf
    > Przygotowałem ilustrację graficzną:
    > http://s11.postimg.org/43qi83etf/Modbus.png
    >
    > Pozdrawiam,
    > Robbo

    czesc.
    w mojej opinii (niekoniecznie prawidlowej) najprosciej zrobić to za
    pomocą timera uruchamianego właśnie w obsłudze SIG_UART_RECEIVE
    uruchamiasz timer i kolejne przerwanie SIG_UART_RECEIVE kasuje timer
    a jak nie zdąży to w przerwaniu timera musisz ocenić czy błąd transmisji czy
    koniec ramki przy czym ja zrobiłbym tylko warunek na koniec ramki (by nie
    mieć
    kłopotów z tym że komuś uart/(program właściwie) w drugim urządzeniu nie
    wyrabia - gdy transmisja błędna to i tak wyjdzie za pomocą crc - format
    ramki jest dość sztywny) tym ze przeranie jest na końcu a nie na początku
    znaku
    przejmowałbym się najmniej, uart jak zacznie odbierać to musi odebrać do
    konca.
    pozdrawiam.
    michal





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: