rs232 linux-win32 cz7, Elektronika, Programowanie portu szeregowego
[ Pobierz całość w formacie PDF ]
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 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 [ Pobierz całość w formacie PDF ] |