You are on page 1of 19

IDZ DO

PRZYKADOWY ROZDZIA
SPIS TRECI

KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG

RS 232C praktyczne
programowanie. Od Pascala
i C++ do Delphi i Buildera.
Wydanie II
Autor: Andrzej Daniluk
ISBN: 83-7197-990-8
Format: B5, stron: 412

TWJ KOSZYK
DODAJ DO KOSZYKA

CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK

CZYTELNIA
FRAGMENTY KSIEK ONLINE

Drugie wydanie ksiki RS 232C praktyczne programowanie. Od Pascala i C++


do Delphi i Buildera to kompendium wiedzy adresowane do osb zajmujcych si
tworzeniem oprogramowania sterujcego urzdzeniami podczanymi przez port
szeregowy. Ksika umoliwia zdobycie wiedzy niezbdnej, by przy uyciu narzdzi
Delphi i Builder tworzy w Pascalu i C++ wasne programy do obsugi transmisji
szeregowej.
W ksice przedstawiono:
Opis metod realizacji nowoczesnej transmisji asynchronicznej poprzez interfejs
RS 232C
Opis wszystkich, niezbdnych funkcji oraz struktur najczciej wykorzystywanych
do realizacji transmisji szeregowej oferowanych przez Win32 API
Metody realizacji transmisji buforowanej oraz niebuforowanej
Metody realizacji transmisji szeregowej z wykorzystaniem portw USB
Kompletne przykady oryginalnych algorytmw stosowanych przy obsudze cza
szeregowego
Nowe wydanie zostao zaktualizowane i poprawione. Dodano nowe rozdziay opisujce
tworzenie wasnych komponentw obsugi portu szeregowego oraz transmisj
szeregow z wykorzystaniem portu USB. Dokadny opis USB, standardu zdobywajcego
ostatnio ogromne uznanie, to kolejny powd, dla ktrego warto mie t ksik.
Doczony do ksiki CD-ROM zawiera:
Przykadowe programy napisane w C++ i Pascalu.
Kompletne kody rdowe aplikacji napisanych w C++Builderze 5.
Kody rdowe aplikacji napisanych w Delphi 6.

Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl

Spis treci
Przedmowa do wydania drugiego ........................................................ 7
Wprowadzenie ................................................................................... 9
Rozdzia 1. Definicja interfejsu........................................................................... 13
Rozdzia 2. Nowoczesna transmisja asynchroniczna oraz standard RS 232C........ 17
RTS-CTS handshaking......................................................................................................22
Konwertery interfejsu RS 232C ........................................................................................26
Konwertery USB/RS 232C ...............................................................................................26
Protok XON-XOFF........................................................................................................27
Protok ENQ-ACK ..........................................................................................................28
Protok ETX-ACK...........................................................................................................28
Protok SOH-ETX ...........................................................................................................28
Protokoy typu master-slave..............................................................................................29
Rola oprogramowania, a podstawowe funkcje interfejsu .................................................29
Podsumowanie ..................................................................................................................31

Rozdzia 3. Jak testowa programy do transmisji szeregowej?.............................. 33


Mirror w MS DOS ............................................................................................................33
Terminal dla Windows ......................................................................................................35
Podsumowanie ..................................................................................................................37

Rozdzia 4. RS 232C w MS DOS ........................................................................ 39


Borland C++......................................................................................................................39
Borland Pascal...................................................................................................................46
Funkcja 00h.................................................................................................................47
Funkcja 01h.................................................................................................................48
Funkcja 02h.................................................................................................................48
Funkcja 03h.................................................................................................................48
Podsumowanie ..................................................................................................................50
wiczenia ..........................................................................................................................50

Rozdzia 5. Programowa obsuga interfejsu RS 232C w Windows ........................ 51


Proces projektowania oprogramowania ............................................................................55
Wykorzystanie elementw Win32 API w C++ Builderze. Cz I ..................................56
Testowanie portu szeregowego...................................................................................64
Nawizanie poczenia................................................................................................79
Przykadowa aplikacja ................................................................................................93
Zamknicie portu komunikacyjnego...........................................................................99

RS 232C praktyczne programowanie. Od Pascala i C++ do Delphi i Buildera


Czyszczenie buforw komunikacyjnych ....................................................................99
Zapis i odczyt informacji ..........................................................................................100
Podsumowanie ................................................................................................................101
wiczenia..................................................................................................................102
Wykorzystanie elementw Win32 API w C++ Builderze. Cz II ...............................102
Wysyamy znak po znaku .........................................................................................102
Wysyamy pliki.........................................................................................................108
Wykorzystanie komponentu TTimer ........................................................................120
Aplikacja nie lubi milcze ........................................................................................138
Break Time czas oczekiwania aplikacji...............................................................143
Podsumowanie ................................................................................................................152
wiczenia..................................................................................................................153
Wykorzystanie elementw Win32 API w Delphi. Cz I .............................................153
Testowanie portu szeregowego inaczej ...............................................................153
Nawizanie poczenia..............................................................................................169
Przykadowe aplikacje ..............................................................................................173
Podsumowanie ................................................................................................................182
wiczenia..................................................................................................................182
Wykorzystanie elementw Win32 API w Delphi. Cz II............................................182
Wysyamy znak po znaku .........................................................................................182
Wysyamy pliki.........................................................................................................188
Timer w Delphi .........................................................................................................203
Podsumowanie ................................................................................................................219
wiczenia..................................................................................................................219

Rozdzia 6. Aplikacje wielowtkowe................................................................. 221


Najwaniejszy jest uytkownik.......................................................................................222
Uytkownik steruje programem................................................................................222
Moliwo anulowania decyzji.................................................................................222
Moliwo odbioru komunikatu nawet w trakcie wysyania danych .......................223
Moliwo wysania odrbnej informacji w trakcie transmisji pliku .......................223
Delphi ..............................................................................................................................224
Konkurencja dla Timera ...........................................................................................237
Konkurencja dla Timera. Inny sposb ............................................................................245
Wielowtkowo i DLL ..................................................................................................254
C++ Builder.....................................................................................................................262
Zamiast Timera .........................................................................................................271
Zamiast Timera. Inny sposb....................................................................................278
Podsumowanie ................................................................................................................286
wiczenia..................................................................................................................287

Rozdzia 7. Wykorzystanie niektrych narzdzi graficznych ............................... 289


Komponent TChart..........................................................................................................289
Podsumowanie ................................................................................................................299

Rozdzia 8. Przykadowe aplikacje wykorzystywane w systemach pomiarowych ..... 301


Kontroler temperatury .....................................................................................................302
Aplikacja obsugujca kilka urzdze.............................................................................319
Podsumowanie ................................................................................................................333

Rozdzia 9. Tworzenie komponentw ................................................................ 335


Komponent TOpenSerialPort..........................................................................................335
Testowanie komponentu .................................................................................................340
Podsumowanie ................................................................................................................345

Spis treci

Rozdzia 10. Transmisja szeregowa z wykorzystaniem portu USB.......................... 347


Waciwoci portu USB ..................................................................................................348
Programowanie portu USB .............................................................................................350
Nie rozwizane odniesienia do funkcji ...........................................................................354
Podsumowanie ................................................................................................................359

Dodatek A Specyfikacja funkcji CreateFile() operacje plikowe ..................... 361


Dodatek B Zamiana liczb z postaci dziesitnej na binarn................................ 365
Dodatek C Specyfikacja struktur MODEMDEVCAPS, MODEMSETTINGS
oraz funkcji GetCommModemStatus()............................................. 369
MODEMDEVCAPS .......................................................................................................369
MODEMSETTINGS.......................................................................................................372
GetCommModemStatus() ...............................................................................................373

Dodatek D Aplikacje konsolowe ...................................................................... 375


Skorowidz......................................................................................381

Rozdzia 2.

Nowoczesna
transmisja asynchroniczna
oraz standard RS 232C
Podstawow wersj RS 232 (ang. Recommended Standard) wprowadzono w 1962 roku
w USA. Pocztkowo standard ten mia suy jedynie do obsugi modemw. Od tego
czasu by poddawany kilkakrotnej aktualizacji celem bardziej optymalnego dostosowania do potrzeb szeregowej transmisji danych. Najwiksz popularno zdobya wersja
RS 232C wprowadzona w 1969 roku, za oficjalnie do rangi standardu zostaa podniesiona w roku 1986. RS 232C jest powszechnie stosowanym i akceptowanym standardem dla szeregowej wymiany danych cyfrowych pomidzy urzdzeniem DTE (ang. Data
Terminal Equipment), obecnie utosamianym z komputerem, a DCE (ang. Data Communication Equipment) urzdzeniem zewntrznym (w oryginale modemem).
W sposb jednoznaczny definiuje on parametry elektryczne, mechaniczne i logiczne cza
szeregowego. Oficjalna jego nazwa brzmi Interface Between Data Terminal and Data
Circuit Termination Equipment Employing Serial Binary Data Interchange. RS 232C
stosowany bywa wszdzie tam, gdzie mniej istotn rol odgrywa przepustowo cza,
natomiast wana jest niezawodno i prostota obsugi protokou komunikacyjnego.
Ze wzgldu na prostot realizacji szeregowej transmisji asynchronicznej wikszo
obecnych urzdze posuguje si wanie takim trybem przesyania danych. Rnice
w sposobie realizacji transmisji synchronicznej i asynchronicznej schematycznie przedstawione s na rysunku 2.1.
Komputery osobiste wyposaone s w cza szeregowe przystosowane do transmisji
asynchronicznej, tzn. komputer i urzdzenie musz pracowa z jednakow, wczeniej
uzgodnion prdkoci oraz wykorzystywa tak sam struktur znakw. Transmisja
taka moe by realizowana w trybie bez potwierdzenia odbioru lub z potwierdzeniem
odbioru. Drugi sposb zapewnia nam moliwo kontrolowania poprawnoci wysyanych-odbieranych danych. Dane przesyane s w postaci tzw. ramki (ang. frame), ktra
jest najmniejsz porcj moliwej do przesania informacji. Bity przesyane s kolejno.

18

RS 232C praktyczne programowanie. Od Pascala i C++ do Delphi i Buildera

Rysunek 2.1.
Rnica pomidzy
sposobami realizacji
transmisji
synchronicznej
i asynchronicznej

Do kodowania znakw stosuje si najczciej kod ASCII (American Standard Code


of Information Interchange). Pocztkowo stosowano 128 znakw zapamitywanych
na 7 bitach. W tym przypadku pierwszy bit danych bit nr 0 poprzedzony by znacznikiem pocztku ramki bitem startu. smy bit (bit nr 7) suy do kontroli parzystoci. Nastpnie przesyany by znacznik koca ramki jeden lub dwa bity stopu.
Wraz z pojawieniem si strony kodowej ASCII o 256 znakach, pierwsze 32 znaki z przedziau 0 31 oraz znak 127 zaczto rezerwowa na potrzeby transmisji danych lub jako
znaki sterujce dla urzdze zewntrznych. Obecnie zbir ASCII jest podzestawem
Unicode zawierajcego 65 536 znakw, ktry uywany jest do reprezentowania znakw
wikszoci jzykw wiata. W tabeli 2.1 przedstawiono uywane obecnie w transmisji
szeregowej znaki sterujce. W dalszej czci ksiki bdziemy z nich czsto korzysta.
Obecnie ramka moe zawiera od 5 do 8 bitw danych (jednak wikszo spotykanych urzdze posuguje si sowem 7- lub 8-bitowym) poprzedzonych bitem startu
oraz zakoczonych bitem parzystoci i jednym lub wicej bitami stopu. Przed rozpoczciem transmisji bit startu przyjmuje zawsze warto 0, zaznaczajc wyranie moment
pocztkowy. Odwrotno czasu trwania transmisji jednego bitu okrela szybko przesyu w bitach na sekund. Korzystajc z funkcji BIOS-u, moemy uzyska transmisj
w granicach od 110 do 9600 b/s. Przekonamy si, e w Windows moe by ona znacznie,
znaczne wiksza. Powodem tych rozbienoci s pewne rnice w sposobie inicjalizacji
procedur obsugujcych cze szeregowe stosowane w DOS i Windows. Moliwa do
uzyskania szybko transmisji zaley przede wszystkim od typu ukadu scalonego UART,
w jaki zaopatrzona jest nasza pyta gwna. Niezalenie od tego, e przetwarza on dane
z postaci szeregowej na rwnoleg i odwrotnie, to obsuguje rwnie sygnay sterujce
interfejsu RS 232C. Czytelnikw zainteresowanych budow i moliwoci programowania takich ukadw odsyam do znakomitej ksiki Piotra Metzgera Anatomia PC,
wyd. VII. Helion (2002).

Rozdzia 2. Nowoczesna transmisja asynchroniczna oraz standard RS 232C

19

Tabela 2.1. Pierwsze 32 znaki strony kodowej ASCII


Liczba
dzies.

Liczba
heksad.

Znak

Nazwa angielska

Znaczenie

0
1

00
01

NULL
SOH

Null
Start of Heading

2
3
4
5
6
7
8
9
10

02
03
04
05
06
07
08
09
0A

Start of Text
End of Text
End of Transmission
Enquiry
Acknowledge
Bell
Backspace
Horizontal Tabulation
Line Feed

11
12
13

0B
0C
0D

VT
FF
CR

Vertical Tabulation
Form Feed, page eject
Carriage Return

14

0E

SO

15

0F

SI

16

10

DLE

Shift Out alternate


character set
Shift In, resume default
character set
Data Link Escape

17
18
19
20
21
22
23
24
25
26

11
12
13
14
15
16
17
18
19
1A

DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB

Device Control 1
Device Control 2
Device Control 3
Device Control 4
Negative Acknowledge
Synchronous Idle
End of Transmission Block
Cancel
End of Medium
Substitue Character

27
28
29
30
31
127

1B
1C
1D
1E
1F
7F

ESC
FS
GS
RS
US
DEL

Escape
File Separator
Group Separator
Record Separator
Unit Separator
Delete

Znak pusty
Pocztek nagwka zawierajcego
adres lub polecenie
Pocztek tekstu
Koniec tekstu
Koniec transmisji
Zapytanie
Potwierdzenie
Dzwonek
Usuwanie poprzedniego znaku
Pozioma tabulacja
Przejcie kursora do nastpnego
wiersza
Pionowa tabulacja
Przesuw strony
Powrt kursora do pocztkowej
pozycji w tym samym wierszu
Nastpne znaki nie bd
interpretowane jako znaki ASCII
Powrt do domylnej strony
kodowej ASCII
Zmiana znaczenia nastpnego
znaku, ktry bdzie interpretowany
jako kombinacja bitw sterujcych
danym urzdzeniem
XON kontrola przepywu danych
Sterowanie urzdzeniem
XOFF kontrola przepywu danych
Sterowanie urzdzeniem
Meldunek bdu
Znak synchronizacyjny
Koniec transmisji bloku danych
Anulowanie danych
Koniec zapisu danych
Zastpienie znaku, znak wstawiony
w odbiorniku w miejsce bdnie
odebranego, np. z bdem parzystoci
Rezygnacja bez potwierdzenia
Separator plikw
Separator grup
Separator zapisu
Separator jednostek
Uniewanienie znaku

STX
ETX
EOT
ENQ
ACK
BEL
BS
HT
LF

20

RS 232C praktyczne programowanie. Od Pascala i C++ do Delphi i Buildera

Bit kontroli parzystoci przesyany za ostatnim bitem danych jest jedn z metod monitorowania poprawnoci transmitowanych danych. Z reguy przyjmuje dwie wartoci: 0 lub
1. Ilo jedynek w polu danych moe by uzupeniana do liczby parzystej (evenparity)
lub nieparzystej (oddparity). Bit parzystoci moe by stale rwny 1 (markparity), stale
rwny 0 (space) lub moe by nieustawiony (noparity). Bity stopu zawsze oznaczaj
koniec ramki. Moe wwczas nastpi transmisja kolejnej paczki danych.
RS 232C jest interfejsem cyfrowym, zatem jego poziomom logicznym (0-1) naley
przypisa okrelone przedziay napi zarwno ujemnych, jak i dodatnich, ktre s
z reguy nieco wysze od stosowanych w komputerze. Pozwala to w duym stopniu
uniezaleni sygna na wejciu interfejsu od przypadkowych zakce. Dla sygnaw
sterujcych i sygnaw wsppracy logicznej wartoci 1 odpowiada przedzia od +3
do +25 V, tzw. stan aktywny, wysoki, wczony lub ON. Logicznemu 0 odpowiada
przedzia od 3 do 25 V, jest to stan nieaktywny, niski, wyczony lub OFF. Dla linii
przesyania danych logicznej wartoci 1 (tzw. Mark) opowiada przedzia napi od
3 do 25 V, za logicznemu zeru (tzw. Space) przedzia od +3 V do +25 V. Widzimy
wic, e sygnay sterowania i wsppracy s aktywne w stanie wysokim, za sygnay
danych w stanie niskim (Mark). Na rysunku 2.2 pokazano przebieg czasowy przykadowej ramki, ukazujcy wysanie jednej litery a reprezentowanej na omiu bitach
dziesitnie 97, binarnie 01100001. Bit parzystoci zosta ustawiony jako markparity,
zastosowano te dwa bity stopu.
Rysunek 2.2.
Czasowy przebieg
ramki na linii
przesyania danych
przy wysaniu
litery a

cze w trakcie ciszy utrzymywane jest stanie logicznej wartoci 1. Transmisja rozpoczyna si od bitu startu, ktry zawsze przyjmuje warto logicznego 0. Po nim nastpuje transmisja omiu bitw reprezentujcych znak. Pniej jest bit parzystoci,
potem dwa bity stopu zamykajce ramk. Bitowi stopu odpowiada stan niski. Po nim
cze wraca do stanu ciszy. Jeden lub dwa bity stopu stosowane s po to, by odbiornik
i nadajnik mogy dokona wzajemnej synchronizacji przed transmisj kolejnej ramki
danych. W praktyce ukady nadajnikw zasilane s napiciem 12 V, dajc amplitud
sygnaw 8 V. W tej sytuacji bitom wartoci 0 oraz 1 transmitowanego bajta odpowiadaj napicia odpowiednio +12 V oraz 12 V1.
1

Zgodnie z zaleceniami protokou V.28 CCITT (Midzynarodowy Komitet Doradczy ds. Telefonii
i Telegrafii) logicznemu zeru powinien odpowiada potencja dodatni +3 V+15 V, za logicznej
jedynce potencja ujemny 3 V15 V.

Rozdzia 2. Nowoczesna transmisja asynchroniczna oraz standard RS 232C

21

Standardow lini interfejsu RS 232C stanowi 25-yowy przewd, przy czym wikszo z tych linii wykorzystuje si dla potrzeb transmisji synchronicznej. W standardzie
IBM wykorzystuje si jedynie 9 sygnaw, ktre s wystarczajce do zrealizowania
transmisji asynchronicznej. W komputerach PC uywano pocztkowo dwch rodzajw zczy szeregowych: 9- oraz 25-kocwkowych typu DB-9 i odpowiednio DB25. W komputerach zaopatrzonych w nowsze pyty gwne spotyka si jedynie zcza
DB-9. Podobnie, wersji DB-25 nie spotyka si ju w nowoczesnych urzdzeniach pomiarowych. Na rysunku 2.3 przedstawiono wygld obydwu rodzajw tych zczy.
Rysunek 2.3.
Kocwki DB-9
i DB-25. Ciemne
kka oznaczaj
nieaktywne
wyprowadzenia

Wykaz sygnaw wykorzystywanych obecnie w interfejsie RS 232C z uwzgldnieniem


przedstawionych typw zczy podano niej. Linia 23 DSRD (Data Signal Rate Detector)
w zczu DB-25 nie zostaa uwzgldniona w poniszym zestawieniu, gdy obecnie
praktycznie nie jest wykorzystywana.
Tabela 2.2. Wykaz sygnaw wykorzystywanych w RS 232C
DB-25

DB-9

Opis sygnau

Kierunek sygnau

PG Protective Ground masa ochronna

TxD Transmitted Data dane wysyane

Wyjcie DTE (PC)

RxD Received Data dane odbierane

Wejcie DTE

RTS Request To Send danie nadawania.


PC zgasza do urzdzenia gotowo odbioru danych

Wyjcie DTE

CTS Clear To Send gotowo do wysyania danych.


Urzdzenie potwierdza przyjcie sygnau RTS

Wejcie DTE

DSR Data Set Ready odbiornik gotowy do odbioru


danych wysanych przez komputer

Wejcie DTE

SG Signal Ground masa sygnaowa

(RLSD) DCD Data Carier Detect odbir fali nonej.


Linia wykorzystywana gwnie przez modemy

Wejcie DTE

20

DTR Data Terminal Ready gotowo komputerado


odbierania-wysyania danych

Wyjcie DTE

22

RI Ring Indicator wskanik wywoania.


Linia wykorzystywana gwnie przez modemy

Wejcie DTE

22

RS 232C praktyczne programowanie. Od Pascala i C++ do Delphi i Buildera

Linie TxD oraz RxD s przeznaczone do obustronnego przesyania danych. Nazywamy


je liniami danych. Pozostae za, s liniami sterujcymi lub kontrolnymi (oczy-wicie
za wyjtkiem linii masy). Oglnie sygnay przekazywane czem RS 232C mona podzieli na trzy grupy:
1. sygnay danych: RxD, TxD.
2. sygnay sterujce urzdzeniem zewntrznym: RTS, DTR.
3. sygnay odbierane od urzdzenia (kontrolne): CTS, DSR, RI, RLSD (DCD).

RTS-CTS handshaking
Jak ju wspomniano, zamierzonym byo, aby ksika ta jak najmniej dotyczya wtkw
historycznych cza szeregowego. Peny opis funkcji linii magistrali interfejsu RS 232C
Czytelnik moe znale w bogatej literaturze przedmiotu. Nie bdziemy si rwnie
szczegowo zajmowa poszczeglnymi trybami transmisji szeregowej. Dla nas tak
naprawd istotnym bdzie tryb pdupleksowy z potwierdzeniem odbioru (transmisja
dwukierunkowa naprzemienna), tzw. handshaking. W tym trybie komputer i urzdzenie
mog naprzemiennie nadawa i odbiera, wykorzystujc jeden logiczny kana danych.
Jest to metoda pytanie-odpowied. Naley przyzna, e sposb ten jest najprostszym
i najskuteczniejszym rodkiem wyegzekwowania interesujcej nas informacji. Aby
zrealizowa tak prawdziw konwersacj pomidzy komputerem a urzdzeniem, wystarczy wykorzysta dwie linie danych RxD i TxD oraz dwie linie sterujce RTS i CTS
z magistrali RS 232C. Sygna RTS musi by stale aktywny lub przeczany do tego stanu
przed rozpoczciem nadawania. Podobnie, nadawanie znakw moe nastpi tylko wwczas, gdy sygna CTS bdzie wczony. Taki sposb sprztowej kontroli transmisji nazywany jest Hardware flow control lub RTS-CTS handshaking lub jako Out-of-Band flow
control sygnay sterujce s generowane i sprawdzane niezalenie od sygnaw danych.
Dostpny jest on w wikszoci wspczesnych systemw komunikacyjnych. Ide takiej
konwersacji przedstawimy na przykadzie poczenia pomidzy dwoma zczami DB-9.
Rysunek 2.4.
Przykad poczenia
poprzez zcza DB-9
komputera
z urzdzeniem
pracujcym
w penym trybie
pdupleksowym

Linia wejciowa TxD (3) komputera poczona jest z lini wejciow RxD (2) urzdzenia. Linie te su obustronnej wymianie danych. Za pomoc sygnaw RTS (7)-CTS (8)
dokonywany jest wybr aktualnego kierunku transmisji. Po uaktywnieniu cza szeregowego linia DTR (4) zostaje wczona. W odpowiedzi urzdzenie aktywuje lini
DSR (6), sygnalizujc gotowo do wsppracy. Komputer, chcc przesa dane do
urzdzenia, aktywuje swj sygna RTS (7), czekajc na potwierdzenie od urzdzenia
na linii CTS (8). Jeeli zostaa ona uaktywniona, komputer wysya dane lini TxD.
Po zakoczeniu transmisji linia RTS jest wyczana (OFF), na co urzdzenie odpowiada

Rozdzia 2. Nowoczesna transmisja asynchroniczna oraz standard RS 232C

23

rwnie przeczeniem linii CTS do stanu nieaktywnego (OFF). Oglnie rzecz biorc,
dane przesyane do komputera lini RxD bd odbierane wwczas, gdy linie DSR
i RLSD (DCD) (1) bd wczone. Patrzc na rysunek 2.4 mona zauway, e jest to typowy ukad pocze stosowany przy wsppracy pomidzy dwoma urzdzeniami DTE.
Jak to si ma do klasycznego poczenia DTE-DCE? Naley przyzna, e z owym klasycznym sposobem czenia ma to niewiele wsplnego. Przyczyna jest prosta nowoczesne urzdzenia pomiarowe zaopatrzone s ju w programowalne jednostki arytmetyczno-logiczne i tak na dobr spraw s ju same w sobie komputerami. Innych produktw
nie spotyka si obecnie zbyt czsto na rynku. Jeeli w instrukcji obsugi kupionego urzdzenia nie umieszczono schematu podobnego do tego z rysunku 2.4, oznacza to bdzie,
e sprzedawca zrobi kolejny dobry interes, pozbywajc si magazynowych zapasw.
Rysunek 2.5 przedstawia pen sekwencj stanw linii interfejsu RS 232C. Naley jednak
zwrci uwag, e w wikszoci spotykanych obecnie przypadkw DSR i DTR pozostaj zwarte, gdy nowoczesne urzdzenia pomiarowe w ogle nie posuguj si lini
DSR, za linia DCD wykorzystywana jest przewanie przez modemy.
Rysunek 2.5.
Pena sekwencja
stanw linii
interfejsu RS 232C

Jeeli jednak chcielibymy z niej zrobi uytek, naley wejcie DCD komputera poczy
z lini wyjciow DTR urzdzenia. Analogicznie jak na rysunku 2.4 mona poczy
ze sob dwa komputery. W tym przypadku ukad pocze mona jeszcze uproci,
zwierajc linie RTS-CTS oraz DSR-DTR.
W nowoczesnych przyrzdach pomiarowych coraz czciej spotyka si zcze moduowe RJ-11, charakteryzujce si niewielkimi rozmiarami i prostot montau przewodw
we wtyczkach. Bardzo czsto wykorzystuje si tu jedynie dwa sygnay dla potrzeb transmisji asynchronicznej.
Na rysunku 2.6 pokazano wygld takiego zcza, natomiast w tabeli 2.3 specyfikacj
najczciej wykorzystywanych przez nie sygnaw.
Rysunek 2.6.
Zcze moduowe
RJ-11

Naley jednak zauway, e niekiedy wystpuj tu pewne rozbienoci. Niektrzy


producenci nieco odmiennie definiuj linie sygnaowe w RJ-11 (tabela 2.4), ale zawsze jest to wyranie zaznaczone w instrukcji obsugi przyrzdu.

24

RS 232C praktyczne programowanie. Od Pascala i C++ do Delphi i Buildera

Tabela 2.3. Specyfikacja linii sygnaowych zcza RJ-11 wg LakeShore


RJ-11

Opis sygnau

RxD Received Data dane odbierane

RxD Received Data dane odbierane

Gnd Ground masa sygnaowa

Gnd Ground masa sygnaowa

TxD Transmitted Data dane wysyane

TxD Transmitted Data dane wysyane

Tabela 2.4. Specyfikacja linii sygnaowych zcza RJ-11 wg niektrych producentw


RJ-11

ComputOne

SPECIALIX

DTR

RLSD (DCD)

TxD

RxD

Gnd

DTR / RTS

RLSD (DCD)

Gnd

RxD

TxD

RTS

CTS

Na rysunkach 2.7 i 2.8 pokazano przykady moliwego ukadu pocze pomidzy komputerem zaopatrzonym w zcze DB-9 lub DB-25 oraz nowoczesnym urzdzeniem wyprowadzajcym sygnay poprzez RJ-11. Tutaj rwnie wida, e linia wyjciowa TxD
komputera poczona jest z odpowiedni lini wejciow RxD urzdzenia.
Rysunek 2.7.
Przykad
nowoczesnego
ukadu pocze
zczy DB-9
oraz RJ-11
stosowanego
przez LakeShore

Pozostae linie po stronie komputera pozostaj zwarte lub niewykorzystane. Nowoczesne urzdzenia nie wykorzystuj zbyt wielu linii sterujcych. Linie DTR (4), CTS
(8), DSR (6) i DCD (1) pozostaj zwarte. Linia RTS (7), danie nadawania, nie jest
wykorzystywana. Kto mgby zapyta, jak bdzie wybierany kierunek transmisji. Taki
sposb podczenia, jaki przedstawiono na przykadzie rysunkw 2.6 i 2.7 natychmiast
sugeruje, e mamy do czynienia z inteligentnym urzdzeniem znaczcym koniec wysyanych przez siebie danych par znakw CR LF, tzw. terminatorem.

Rozdzia 2. Nowoczesna transmisja asynchroniczna oraz standard RS 232C

25

Rysunek 2.8.
Przykad
nowoczesnego
ukadu pocze
zczy DB-25
oraz RJ-11
stosowanego
przez LakeShore

Program obsugujcy taki przyrzd, napotykajc przy odbiorze danych znaki CR LF,
bdzie ju wiedzia, e wanie otrzyma kompletn informacj i ewentualnie naley
przej do nadawania.
Jeeli tylko potrafimy w ten sam lub inny chytry sposb odpowiedzie miernikowi,
otrzymamy bezbdn obustronn transmisj. Taka metoda programowej kontroli transmisji okrelana jest mianem Software flow control. Nieustanne ledzenie poziomw wielu
sygnaw pojawiajcych si na zczu RS przechodzi powoli do historii. Jedyn trudnoci do przezwycienia bdzie wwczas problem zbudowania odpowiedniej aplikacji.
Nieco inn specyfikacj sygnaw w zczu RJ-11 podaj ComputOne oraz SPECIALIX.
Wielu producentw stosuje rwnie zcza moduowe RJ-45. Poniej zostay przedstawione niektre stosowane rozwizania.
Rysunek 2.9.
Zcze moduowe
RJ-45

Tabela 2.5. Specyfikacja linii sygnaowych zcza RJ-45 wg niektrych producentw

1
2

RJ-45

Comput-One Chase DIGIBOARD MICRO-ANEX1 MICRO-ANEX2 EQUINOX IBM

DCD

DSR

RTS

RTS

CTS2

RTS

RTS

RTS

DTR

DTR

DTR

DTR2

RxD

PG

PG

TxD

TxD

RxD

TxD2

DCD

TxD

TxD

DCD

Gnd

Gnd2

Gnd

RxD

RxD

RxD

RxD

TxD

DCD2

TxD

Gnd

Gnd

Gnd

Gnd

Gnd

RxD2

DTR

CTS

CTS

DSR

DSR

RTS2

CTS

DTR

DTR

CTS

CTS

CTS

Linia PG zwykle poczona jest z obudow. Jako potencja odniesienia uywana jest linia Gnd.
Identycznie jak w ComputOne, odwrcono tylko numeracj stykw.

26

RS 232C praktyczne programowanie. Od Pascala i C++ do Delphi i Buildera

Konwertery interfejsu RS 232C


Istnieje wiele rodzajw konwerterw sygnaw interfejsu RS 232C na inne standardy
RS. Do najczciej stosowanych nale ukady suce do czenia urzdze wyposaonych w interfejs RS 232C z urzdzeniami wyposaonymi w interfejs RS 485 lub
RS 422. Transmisja szeregowa w standardach 485 lub 422 jest duo szybsza i bardziej
odporna na zakcenia, zapewnia ponadto wikszy zasig transmitowanych sygnaw.
W standardzie RS 485 szeregowa transmisja danych cyfrowych odbywa si przez
dwuprzewodow symetryczn lini transmisyjn, do ktrej mona doczy nawet 32
nadajniki i odbiorniki. Stosujc odpowiednie powielacze sygnau, liczb takich urzdze mona znacznie zwikszy. Interfejs ten umoliwia realizacj wielopunktowej
transmisji w trybie pdupleksowym. Standard elektryczny RS 422 nie rni si w istocie
od RS 485. Rnica polega na moliwoci doczenia do jednej pary przewodw jednego
nadajnika nawet do 10 odbiornikw. W ukadzie RS 422 moliwa jest transmisja w trybie
penego dupleksu, czyli w modzie jednoczesnego nadawania i odbioru danych.
Konwertery interfejsu RS 232C konstruowane s w postaci niewielkich pudeek zawierajcych z jednej strony zcze DB-25 lub DB-9 do podczenia do cza RS 232C w komputerze, za z drugiej strony inne zcze, np. PHOENIX, do podczenia linii i napicia
zasilajcego. Ukady te, zapewniajc izolacj galwaniczn czonych urzdze i linii
transmisyjnej, z reguy zasilane s oddzielnym zasilaczem stabilizowanym. Stosujc
tego rodzaju konwertery sygnaw, moliwe jest uzyskanie szybkoci transmisji w granicach 2,5 Mb/s przy maksymalnej dugoci linii okoo 1200 m, co wydaje si rozwizaniem w peni zadawalajcym nawet w warunkach przemysowych. Zestaw dwch
konwerterw moe by z powodzeniem stosowany do realizacji poczenia pomidzy
dwoma urzdzeniami zaopatrzonymi w interfejs RS 232C.

Konwertery USB/RS 232C


Konwertery tego typu pozwalaj na podczenie urzdze zaopatrzonych w interfejs
szeregowy RS 232C do portw USB w komputerze. Wrd dostpnych na rynku wysok kultur dziaania oraz niezawodnoci wyrniaj si urzdzenia gliwickiej firmy
YUKO. Konwertery takie posiadaj zcze USB typu Am (A-mini) oraz DSUB 25
(port RS 323C), w ktrego obudowie znajduje si ukad konwertera zasilanego z portu
USB komputera. Zcza te poczone s odcinkiem kabla dugoci ok. 90 cm. Dostarczane wraz z konwerterem sterowniki instaluj si w 32 bitowych systemach Windowsowych (98, ME, NT, 2000 oraz XP), dziki czemu uzyskujemy dostp do dodatkowego 8-bitowego portu o dowolnie zadeklarowanej wartoci od COM1 do COM256,
ktrego mona uywa tak jak portu standardowego. Naley zwrci uwag, i jest to
jednak port wirtualny, dlatego programy, ktre bezporednio obsuguj porty komunikacyjne (np. MS DOS) nie bd dziaa poprawnie. W przeciwiestwie do standardowych portw COM, port konwertera jest bardzo szybki. Dostarczane sterowniki
zapewniaj transmisj danych do 921 kb/s z moliwoci rozszerzenia w przypadku
transmisji asynchronicznej nawet do wartoci 2 Mb/s.

Rozdzia 2. Nowoczesna transmisja asynchroniczna oraz standard RS 232C

27

Na rysunkach 2.10, 2.11 oraz 2.12 pokazano odpowiednio schemat przekroju czteroyowego kabla wykorzystywanego przez USB, wygld zcza typu A wykorzystywanego do podczenia urzdze z komputerem (hostem, ang. upstream port) oraz
numeracj sygnaw USB, ktrych wykaz zawiera tabela 2.6.
Rysunek 2.10.
Czteroyowy
kabel USB

Rysunek 2.11.
Zcze USB typu A

Rysunek 2.12.
Numeracja stykw
zcza USB typu A

Tabela 2.6. Wykaz sygnaw wykorzystywanych w USB


Numer

Oznaczenie

Opis sygnau

Kolor przewodu

VBUS

Przewd zasilania (max. +5,25 [V])

Czerwony

Data(D)

Przewd symetrycznej skrtki sygnaowej

Biay

Data+(D+)

Przewd symetrycznej skrtki sygnaowej

Zielony

GND

Przewd masy zasilania

Czarny

Shell

Shield

Ekran

Protok XON-XOFF
Wiele urzdze wymaga stosowania programowej kontroli przepywu danych z wykorzystaniem tzw. protokou XON-XOFF. Przykadem praktycznego wykorzystania
niektrych znakw pokazanych w tabeli 2.1 jest wanie ten protok, czasami nazywany DC1-DC3 lub ^Q-^S.
Jeeli dane przychodz zbyt szybko do odbiornika i urzdzenie odbierajce nie moe
ich tak szybko pobiera z bufora wejciowego, program sterujcy moe wysa znak
XOFF (DC3 lub dziesitnie 19 albo Control + S). Urzdzenie nadajce zatrzymuje dalsz
transmisj (jeeli oczywicie wie, co to jest XOFF), dopki od strony odbiornika nie
nadejdzie znak XON (DC1 lub dziesitnie 17 albo Control + Q).

28

RS 232C praktyczne programowanie. Od Pascala i C++ do Delphi i Buildera

Jeeli jednak XOFF zostanie wysany zbyt pno, moe nastpi przepenienie bufora
wejciowego. Podobnie opnienie wysania XON z reguy powoduje zablokowanie
portu komunikacyjnego.
We wspczesnych, inteligentnych urzdzeniach o wysokim stopniu wzajemnej synchronizacji protok ten przewiduje wysanie XOFF, jeeli bufor wejciowy jest wypeniony powyej deklarowanego rozmiaru. Program sterujcy urzdzeniem wysya
znak XON, jeeli bufor jest wypeniony mniej ni w . W tym przypadku transmisja
musi przebiega w penym trybie dupleksowym. Dane przekazywane s jednoczenie
w obu kierunkach niezalenie od siebie, po oddzielnych liniach transmisyjnych (patrz
tabela 2.3). Wykorzystujemy tu dwie pary linii RxD i TxD (RTS i CTS nie maj znaczenia), linia DTR moe (ale nie musi) by wykorzystywana do wczania i wyczania
urzdzenia. Windows podtrzymuje ten protok, o czym Czytelnik moe si przekona,
zagldajc do Panelu sterowania i Waciwoci portw komunikacyjnych oraz czytajc dalej t ksik.

Protok ENQ-ACK
Jest to obecnie jedna z rzadziej stosowanych metod kontroli przepywu danych w urzdzeniach pomiarowych. Urzdzenie transmitujce wysya regularnie zapytanie ENQ
(patrz tabela 2.1) po kadej, wczeniej ustalonej porcji transmitowanych danych. Kiedy
odbierajcy jest gotowy do przyjcia kolejnego bloku informacji, wysya do nadajcego potwierdzenie ACK, sygnalizujc tym samym gotowo przyjcia nastpnej porcji
danych. W metodzie tej z reguy nie kontroluje si stopnia wypenienia bufora pamici.
Jeeli nadajcy po wysaniu kolejnej porcji informacji nie otrzyma potwierdzenia
jej odbioru, zaczyna wysya przez pewien, cile ustalony czas, znak, np. LF, dajc
odbiornikowi moliwo ewentualnego przetworzenia wczeniej otrzymanych danych.
Jeeli po okrelonym czasie nie nadejdzie potwierdzenie ACK, nadajnik wstrzymuje
dalsz transmisj do czasu jego otrzymania.

Protok ETX-ACK
Protok ten funkcjonuje nieco inaczej. Komputer wysya cay blok danych zakoczonych znakiem ETX. Odbiornik wysya do komputera znak potwierdzenia ACK dopiero
po cakowitym przetworzeniu odebranej porcji danych. Zastosowanie tego protokou
wymaga istnienia w odbiorniku wystarczajco duego bufora pamici, aby transmisja
nie bya zatrzymywana przed odebraniem caej porcji informacji.

Protok SOH-ETX
Protok SOH-ETX bywa coraz czciej wykorzystywany w tzw. urzdzeniach wielozakresowych, gdzie zwracana informacja obejmuje nie tylko np. aktualn warto
mierzonego prdu przemiennego, ale jeszcze inne jego parametry. Pocztek nagwka

Rozdzia 2. Nowoczesna transmisja asynchroniczna oraz standard RS 232C

29

tekstu lub aktualny adres odpytywanego urzdzenia jednoznacznie okrela znak SOH
(ale nie STX, gdy tekst taki moe by poprzedzony specjalnymi znakami formatowania
lub znakami nie bdcymi tekstem). Koniec przesyanej porcji danych wyranie okrela
znak ETX (End of Text por. tabela 2.1).

Protokoy typu master-slave


Wykorzystujc protokoy typu master-slave tylko jednostka nadrzdna (ang. master)
moe inicjowa transmisj danych w systemie, za jednostki podrzdne (ang. slave)
jedynie odpowiadaj na zdalne zapytania. Cig wykonywanych czynnoci, ktre pod
grob utraty spjnoci danych musz by wykonane w caoci, tzw. transakcja, skada
si z polecenia wysyanego z jednostki master do slave oraz z odpowiedzi przesyanej
z jednostki slave do master. Odpowied zawiera dane dane przez jednostk nadrzdn
lub potwierdzenie realizacji odebranego polecenia. Master moe indywidualnie odpytywa szereg jednostek podrzdnych lub te przesya wiadomoci rozgoszeniowe
(ang. broadcast), przeznaczone dla wszystkich urzdze podrzdnych w systemie. Na
polecenia rozgoszeniowe jednostki podrzdne z reguy nie przesyaj odpowiedzi. Protokoy tego rodzaju wykorzystywane s obecnie m.in. przez interfejsy typu MODBUS,
ktre wykorzystuj asynchroniczn transmisj znakow zgodn ze standardem RS 232C.

Rola oprogramowania,
a podstawowe funkcje interfejsu
Aby zrealizowa prawidow wymian informacji pomidzy komputerem a urzdzeniami zewntrznymi, dla ktrych peni on bdzie rol kontrolera, naley w pierwszej
kolejnoci okreli funkcje szeroko rozumianego interfejsu w tym systemie. W dobrze
zaprojektowanym ukadzie interfejs powinien spenia nastpujce wymagania:
1. Zapewnienie waciwego sposobu inicjalizacji poczenia.

Aby uzyska dostp do urzdzenia przyczonego do portu komunikacyjnego,


port ten naley fizycznie uaktywni otworzy do transmisji. W standardowym
PC mamy z reguy do dyspozycji tylko dwa szeregowe porty komunikacyjne.
Czsto zachodzi jednak konieczno obsuenia wielu urzdze. Stosuje si
wwczas specjalne karty lub konwertery, umoliwiajce uzyskanie dostpu
do wikszej ich liczby. Przyrzdy podczone do portw komunikacyjnych
musz by rozrnialne, jeeli chcemy nimi naprawd sterowa. Bd takimi,
jeeli aplikacja bdzie w stanie rozrni poszczeglne porty szeregowe
i kierowa do nich odpowiednie komunikaty oraz odbiera dane. Waciwa
inicjalizacja portu polega na nadaniu mu unikalnego identyfikatora, ktrym
mona swobodnie operowa w trakcie dziaania programu.
2. Zapewnienie waciwej synchronizacji transmitowanych danych pomidzy

komputerem i urzdzeniami zewntrznymi oraz udostpnienie metod


natychmiastowej i automatycznej korekty rnego rodzaju bdw, pojawiajcych
si w czasie transmisji.

30

RS 232C praktyczne programowanie. Od Pascala i C++ do Delphi i Buildera

Wikszo standardowych interfejsw ma wbudowane funkcje synchronizacji,


ktre w pewnym stopniu mog minimalizowa pojawiajce si opnienia
w kanale transmisyjnym jedn z gwnych przyczyn powstawania bdw.
Rol oprogramowania bdzie ich umiejtne wyzwalanie. Aplikacja zarzdzajca
transmisj musi by skonstruowana w sposb zapewniajcy bezbdne
funkcjonowanie systemu pomiarowego lub komunikacyjnego. Waciwa reakcja
na pojawiajce si w czasie transmisji bdy oraz moliwo ich ewentualnej
korekcji s zawsze istotnymi elementami programu komunikacyjnego.
3. Zapewnienie waciwej kontroli transmisji oraz wyboru jej kierunku.

Kontrolowanie aktualnego kierunku transmisji moe by realizowane sprztowo


lub programowo. Na pewno bardziej przydan jest umiejtno programowej
kontroli przepywu danych. Uytkownik danego systemu wie najlepiej, jakie
dane i w jakim czasie chce otrzyma od urzdzenia. Aplikacja obsugujca
dany interfejs musi by tak zaprojektowana, aby moliwym by pynny wybr
kierunku nadawanie-odbir. W tym miejscu naley zwrci szczegln uwag
na to, by nie traci danych w momencie zmieniania kierunku transmisji. Stosujc
metod buforowania danych, program musi by wyczulony na moliwo
odbierania swoich wasnych komunikatw przy nagej zamianie rl z nadajnika
na odbiornik.
4. Udostpnienie moliwoci zatrzymania transmisji w dowolnym momencie

bez ryzyka utraty danych.


T waciwo same interfejsy posiadaj tylko w ograniczonym stopniu. Program
kontrolujcy transmisj jest naprawd funkcjonalny wwczas, gdy zawiera
opcje umoliwiajce czasowe wstrzymanie operacji odbioru-nadawania
bez ryzyka utraty informacji. Jest to szczeglnie wane w przypadku aplikacji
wielowtkowych lub generujcych wasne przerwania systemowe. Waciwo
t musi uwzgldnia oprogramowanie sterujce jednoczenie portem szeregowym
oraz rnego rodzaju kartami przetwornikowymi zaopatrzonymi w przetworniki
analogowo-cyfrowe. W obecnych komputerach procesor programuje zaledwie
kilka rejestrw sterujcych urzdzenia, wysyajc rozkaz wykonania pewnej
operacji (np. odebranie znaku przez port szeregowy). Istniej przynajmniej
dwa sposoby poinformowania procesora o tym, e dana operacja wanie
si zakoczya. Po pierwsze mona zastosowa tzw. polling, gdzie procesor
wysya regularne zapytania do urzdzenia. Czstotliwo tych zapyta jest
kontrolowana przez aktualnie dziaajc aplikacj. Jednak w praktyce bardzo
trudno jest okreli optymaln czstotliwo takiego odpytywania i z tego
wzgldu sposb ten jest bardzo niewygodny. Drugi sposb polega na tym,
e samo urzdzenie zgasza wykonanie danego zadania. W stosownym momencie
procesor przerywa wykonywanie aktualnego programu, pamitajc stan swoich
rejestrw uaktywnia funkcje reagujce na zgoszenie danego urzdzenia.
Mwimy wwczas, e nastpio przerwanie sprztowe interrupt pochodzce
od urzdzenia. Ten sposb sterowania przepywem danych w PC jest stosowany
wszdzie tam, gdzie mamy do czynienia z intensywnym i nieregularnym
przepywem danych pomidzy urzdzeniami, a pamici operacyjn.
W praktyce mamy moliwoci programowej kontroli aktualnie wystpujcych
przerwa. Jednak w rzeczywistoci jest to zadanie uciliwe i lepiej jest
wykorzysta zalety programowania obiektowo-zdarzeniowego.

Rozdzia 2. Nowoczesna transmisja asynchroniczna oraz standard RS 232C

31

5. Zapewnienie moliwoci odpowiedniego odbierania, przechowywania

i wysyania danych.
Standardowe interfejsy maj moliwo buforowania danych. Jest to zaleta,
ktr doceniamy wtedy, gdy nie jestemy w stanie w sposb cigy odbiera
przychodzcych danych lub nie moemy ich wysa w cile okrelonym
momencie. Oprogramowanie sterujce przepywem danych peni w takich
przypadkach rol wspomagajc. Aplikacja powinna umie odczyta aktualny
stan bufora wejciowego i zdecydowa o pobraniu z niego interesujcych nas
danych. Odbierajc informacje w sposb cigy, naley nieustannie kontrolowa
bufor danych, nawet w sensie fizycznej ingerencji. Dobrze dziaajcy program
nie moe dopuci do jego przepenienia, gdy grozi to cakowit utrat informacji.
Rol oprogramowania bdzie rwnie odpowiednie czyszczenie bufora danych
w trakcie transmisji. Jest to zawsze punkt newralgiczny systemu
komunikacyjnego.
W celu ujednolicenia i uproszczenia sposobw projektowania oprogramowania wykorzystywanego w rnych systemach pomiarowych stworzono standard opisujcy zestaw uniwersalnych instrukcji programujcych urzdzenia pomiarowe, tzw. jzyk SCPI
(ang. Standard Commands for Programmable Instruments). Zdefiniowane s tam wszystkie ujednolicone przez producentw urzdze pomiarowych instrukcje (rozkazy) umoliwiajce zaprogramowanie nowoczesnego przyrzdu w zalenoci od wykonywanego
przeze zadania. Programici dostali wic do dyspozycji uniwersalny jzyk zapyta
i odpowiedzi, naley tylko umiejtnie go wykorzysta. Niestety, to niewtpliwe udogodnienie nie zwalnia nas z koniecznoci samodzielnego stworzenia (lub kupna) aplikacji,
potraficej wykorzysta zalety SCPI. Czytelnikw pragncych poszerzy swoje wiadomoci na ten temat odsyam do ksiki Wojciecha Mielczarka Urzdzenia pomiarowe
i systemy kompatybilne ze standardem SCPI, wyd. Helion (1999).

Podsumowanie
W rozdziale tym zostay zaprezentowane podstawowe wiadomoci dotyczce szeregowej
transmisji asynchronicznej oraz standardu RS 232C. Tematy te zostay potraktowane
w sposb zwizy, ale zupenie wystarczajcy do zrozumienia zagadnie zwizanych
z programow kontrol czy szeregowych. Przedstawione te zostay rzadko spotykane
przykady nowoczesnych sposobw pocze coraz czciej stosowane w szeregowej
transmisji danych. Omwiono rwnie najwaniejsze stosowane obecnie protokoy
kontroli transmisji danych. Wymieniono te, jakimi cechami powinny charakteryzowa
si aplikacje, obsugujce transmisj szeregow.
W ksice tej, wraz z wprowadzaniem konkretnych algorytmw mogcych obsugiwa
komunikacj szeregow, omwione zagadnienia bd stopniowo uzupeniane. Bardziej
szczegowe informacje dotyczce standardu RS 323C Czytelnik moe znale w bogatej
literaturze przedmiotu oraz na licznych stronach WWW. Osobom pragncym poszerzy
swoje wiadomoci na temat szeregowych interfejsw cyfrowych polecamy ksik
Wojciecha Mielczarka Szeregowe interfejsy cyfrowe, wyd. Helion (1994).

You might also like