rs232_linux-win32_cz7.pdf

(190 KB) Pobierz
rs232_linux-win32_cz7.indd
KURS
Programowanie portu szeregowego
w systemach operacyjnych Linux
i Windows, część 7
Umiejętność programowej obsługi interfejsu RS232 od strony
komputera PC jest dziś istotnym elementem elektronicznego
rzemiosła. W niniejszym kursie piszemy jak w praktyce
oprogramować port szeregowy w środowiskach Linux i Windows.
Wiele miejsca poświęcamy pisaniu przenośnych aplikacji GUI,
które korzystają z interfejsu szeregowego i zachowują się tak samo
w systemach Windows jak i Linux. Wszystkie omawiane zagadnienia
poparte są szczegółowo opisanymi praktycznymi przykładami.
Jeśli tego nie zrobimy, jako
katalog w którym znajduje się
biblioteka rozumiany będzie do-
myślny katalog /usr/local/Troll-
tech/Qt–4.0.1.
8. Uruchomić skrypt konfiguracyjny
wpisując:
$ ./configure
a następnie „yes” w celu zaakcep-
towania licencji.
9. Po skonfigurowaniu należy skom-
pilować bibliotekę wpisując:
$ gmake
lub
$ make
Podobnie jak w przypadku
systemu Windows, proces kom-
pilacji jest bardzo długi – może
dochodzić do kilku godzin.
10. Po skompilowaniu biblioteki Qt
należy dodać następujący wiersz
do pliku /etc/ld.so.conf :
/usr/local/qt/lib
a następnie zalogować się jako
root i wpisać:
$ ldconfig
Dzięki temu konsolidator (lin-
ker) będzie miał informację o ka-
talogu w jakim umieszczone są
biblioteki pakietu Qt.
11. Jeśli jako katalog instalacji pozo-
stawiono katalog domyślny (nie
skorzystano z opcji –prefix skryp-
tu konfiguracyjnego configure ), to
należy utworzyć dodatkowe do-
wiązanie symboliczne:
$ ln –s /home/arek/qt–x11–open-
source–src–4.0.1 /usr/local/Troll-
tech/Qt–4.0.1
Przy wykorzystaniu opisanego
sposobu instalacji biblioteki Qt nie
ma potrzeby wykonywania polece-
nia make install .
Instalacja biblioteki Qt
w systemie Linux (X11)
Instalacja pakietu Qt 4.0.1
w systemie Linux przebiega bardzo
podobnie do instalacji w systemie
Windows, choć może być nieco
bardziej skomplikowana. W celu jej
przeprowadzenia należy ściągnąć
plik qt–x11–opensource–src–4.0.1.tar.
gz spod adresu [1]. Przykładowy
proces instalacji przedstawiono dla
systemu Mandrake 10.1, ale oczy-
wiście jest ona taka sama dla in-
nych dystrybucji systemu Linux.
Ewentualne różnice są kosmetyczne
i związane ze specyfiką konkretnej
dystrybucji.
Kolejne czynności związane z in-
stalacją są następujące:
1. Sprawdzić, czy w katalogu /usr/
X11R6/include/X11 (lub analo-
gicznym, zależnie od dystrybu-
cji systemu Linux) znajdują się
pliki o nazwach X*.h (np. Xlib.
h , Xatom.h ). Jeśli nie, to na-
leży zainstalować którykolwiek
z pakietów RPM, jaki zawiera te
pliki. Ja wykorzystałem pakiet
xorg–x11–devel–6.8.2–9tr.i586.rpm ,
ale nadaje się do tego dowolny
pakiet, który w nazwie zawiera
człon x11–devel– . Jeśli system,
którym dysponujemy nie używa
serwera X.Org lecz XFree86 , na-
leży zainstalować pakiet odpo-
wiedni dla tego serwera.
2. Skopiować plik qt–x11–openso-
urce–src–4.0.1.tar.gz do katalogu
domowego lub innego, w którym
chcemy mieć umieszczoną bi-
bliotekę Qt. W moim przypadku
był to katalog /home/arek i ta-
kiego katalogu dotyczy niniejszy
opis przykładowej instalacji.
3. Rozpakować archiwum wpisując:
$ tar –xvzf qt–x11–opensource–
src–4.0.1.tar.gz
W efekcie powstanie katalog
o nazwie qt–x11–opensource–src-
–4.0.1.
4. Przejść do utworzonego katalogu.
5. Jako root stworzyć dowiązanie
symboliczne do tego katalogu,
wpisując:
$ ln –s /home/arek/qt–x11–
opensource–src–4.0.1 /usr/local/qt
Dzięki temu możliwe jest
zainstalowanie kilku wersji bi-
blioteki Qt. Poprzez odpowied-
nie manipulowanie tym dowią-
zaniem, do każdej z nich można
się odwoływać poprzez /usr/lo-
cal/qt.
6. Nadać następującym zmiennym
środowiskowym nazwy:
QTDIR=/usr/local/qt
PATH=$QTDIR/bin:$PATH
Zapis powyższy należy umie-
ścić w pliku konfiguracyjnym
używanej powłoki. Dla powłoki
bash jest to plik .bash_profile .
Aby zmiana przyniosła skutek,
należy się wylogować i ponow-
nie zalogować. Można też ustalić
wartości wymienionych zmien-
nych na czas trwania bieżącej
sesji wpisując:
$ export QTDIR=/usr/local/qt
$ export PATH=$QTDIR/
bin:$PATH
7. Warto poinformować skrypt kon-
figuracyjny o tym, w jakim kata-
logu ma się znajdować biblio-
teka Qt. W niniejszym przykła-
dowym przypadku można tego
dokonać wpisując:
$ configure – prefix /home/arek/
qt–x11–opensource–src–4.0.1
Kompilacja aplikacji testowej
w systemie Linux
Dzięki dobrej jakości biblioteki
Qt, przeniesienie programu stworzo-
nego w systemie Windows do sys-
temu Linux jest niezwykle proste.
Wystarczy skopiować pliki źródłowe
do dowolnego katalogu (np. /home/
arek/Example2W w przypadku apli-
kacji Example2W ) i znajdując się
w nim wpisać:
Elektronika Praktyczna 7/2007
89
66534875.002.png
KURS
Rys. 13. Aplikacja testowa działająca w systemie Linux (styl
Plastique)
Rys. 14. Aplikacja testowa działająca w systemie
Linux (styl Motif)
$ qmake –project (opcjonalnie)
$ qmake
$ gmake (lub make)
Jeśli podczas instalacji nie po-
pełniono żadnego błędu, w wyni-
ku otrzymamy plik wykonywalny
Example2W . Aplikację uruchamiany
wpisując:
$ ./Example2W
i możemy cieszyć oczy widokiem
podobnym do tego, który przedsta-
wiono na rys. 13 i 14 .
Podsumowanie
Wiemy już jak stworzyć prostą
aplikację przenośną, wykorzystują-
cą łącze RS232. W następnej czę-
ści kursu zostanie zaprezentowany
przykładowy program woltomierza
cyfrowego działający w systemach
Windows i Linux. Program o ty-
le ciekawy, że zawierający pew-
ne elementy wielowątkowości, bez
których nie może się obyć żadna
nietrywialna aplikacja komunikują-
ca się z urządzeniami zewnętrzny-
mi przez interfejs RS232.
Arkadiusz Antoniak, EP
arkadiusz.antoniak@ep.com.pl
www.antoniak.ep.com.pl
Linki internetowe:
[1] ftp://ftp.trolltech.com/qt/source/
R
E
K
L
A
M
A
180x128
1/2
90
Elektronika Praktyczna 7/2007
66534875.003.png 66534875.004.png 66534875.005.png 66534875.001.png
Zgłoś jeśli naruszono regulamin