-
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!peer03.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-
a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
From: "Robbo" <n...@g...com>
Newsgroups: pl.misc.elektronika
Subject: Modbus, mierzenie odstępu między znakami i paczkami
Date: Sun, 6 Apr 2014 22:30:24 +0200
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=original
Content-Transfer-Encoding: 8bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.5931
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157
X-Antivirus: avast! (VPS 140406-0, 2014-04-06), Outbound message
X-Antivirus-Status: Clean
Lines: 26
Message-ID: <5341b961$0$2228$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 83.24.149.83
X-Trace: 1396816225 unt-rea-b-01.news.neostrada.pl 2228 83.24.149.83:3323
X-Complaints-To: a...@n...neostrada.pl
X-Received-Bytes: 2319
X-Received-Body-CRC: 1603146657
Xref: news-archive.icm.edu.pl pl.misc.elektronika:662517
[ ukryj nagłówki ]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
Żeby dokonywać pomiarów zgodnie z tym, jako pokazano to w standardzie,
powinienem wiedzieć, kiedy kończy się transmisja znaku i kiedy zaczyna się
transmisja kolejnego znaku. Ponieważ korzystam ze sprzętowego USART-a i
przerwania SIG_UART_RECV, to wiem tylko, kiedy kończy się transmisja znaku.
Wstępnie postanowiłem korzystać z SIG_UART_RECV (informacja w momencie
zakończenia przesyłania znaku) i mierzyć czas między znakami jako 2,5 *
czas_przesyłania_pojedynczego_znaku oraz czas między paczkami jako 4,5 *
czas_przesyłania_pojedynczego_znaku. Chciałem zapytać, czy takie podejście
do tematu będzie prawidłowe?
Przygotowałem ilustrację graficzną:
http://s11.postimg.org/43qi83etf/Modbus.png
Pozdrawiam,
Robbo
Następne wpisy z tego wątku
- 07.04.14 09:40 John Smith
- 07.04.14 09:56 pytajacy
- 07.04.14 14:53 Robbo
- 07.04.14 18:16 michal
- 09.04.14 09:50 John Smith
Najnowsze wątki z tej grupy
- termostat do lodowki
- SEP 1 kV E
- Aku LiPo źródło dostaw - ktoś poleci ?
- starość nie radość
- Ataki hakerskie
- Akumulatorki Ni-MH AA i AAA Green Cell
- Dławik CM
- JDG i utylizacja sprzetu
- Identyfikacja układ SO8 w sterowniku migających światełek choinkowych
- DS1813-10 się psuje
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
Najnowsze wątki
- 2024-12-14 światła znów wlączyli
- 2024-12-14 nie lekceważ termostatu
- 2024-12-14 numer 112
- 2024-12-14 Pendrive, ale dysk
- 2024-12-12 Autocom CAN CDP+ wysokie kody błędów
- 2024-12-13 termostat do lodowki
- 2024-12-13 Gdańsk => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-13 Warszawa => Head of International Freight Forwarding Department <=
- 2024-12-13 Poznań => Employer Branding Specialist <=
- 2024-12-13 Kraków => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2024-12-13 Kraków => Business Development Manager - Network and Network Security
- 2024-12-13 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-13 Gdańsk => Programista Full Stack .Net <=
- 2024-12-13 Warszawa => Analityk Biznesowo-Systemowy <=
- 2024-12-13 Białystok => Architekt rozwiązań (doświadczenie w obszarze Java, A