Sterowanie przegubem obrotowym z wykorzystaniem sprzÄżenia
Sterowanie przegubem obrotowym z wykorzystaniem sprzÄżenia
Sterowanie przegubem obrotowym z wykorzystaniem sprzÄżenia
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
4.6 Komunikacja z użytkownikiemKomunikacja z użytkownikiem odbywa się poprzez terminal znakowy podłączony do portuszeregowego pracującego z prędkością 19200Bd. W sterowniku transmisję szeregową, napoziomie sprzętowym, obsługuje moduł SCI1 mikrokontrolera 56F8323. Konfiguracja modułuSCI1 została przeprowadzona z <strong>wykorzystaniem</strong> Procesor Experta oraz dedykowanego Beanuo nazwie AsynchroSerial. Bean, na poziomie programowym, dostarcza mechanizmów do obsługibuforów cyklicznych FIFO (ang. First In First Out), zarówno dla nadajnika i odbiornika.Dostarcza również metod umożliwiających zapisywanie, odczytywanie oraz sprawdzenie stanubuforów. Rozmiary buforów wynoszą 260 znaków. W sterowniku wykorzystano następującemetody:• AS1 RecvChar — odczytuje znak z bufora odbiorczego,• AS1 SendChar — zapisuje znak do bufora nadawczego,• AS1 GetCharsInRxBuf — sprawdza stan bufora odbiorczego,• AS1 GetCharsInTxBuf — sprawdza stan bufora nadawczego,Funkcje te realizują niskopoziomowy dostęp do portu szeregowego sterownika.Warstwę wyższą, wykorzystywaną w procesie komunikacji, stanowi prosta powłoka. Wyglądpowłoki wzorowany był na powłokach dostępnych w systemach operacyjnych Linux. Powłokarealizuje następujące zadania:• wyświetlenie powitalnego logo,• wyświetlanie znaku zachęty,• obsługa linii komend,• interpretacja wprowadzanych znaków (rozpoznawanie rozkazów),• dostarczenie informacji o rozpoznanym rozkazie (kod rozkazu),• wyświetlanie komunikatów informacyjnych.Powłoka jest w rzeczywistości prostym interpreterem komend. Obsługą rozkazów zajmuje sięprogram główny. W tym czasie powłoka jest wyłączona. Funkcje obsługi powłoki zawarte są wmodule o nazwie shell. Dla użytkownika dostępne są dwie funkcje:• shell — funkcja obsługi powłoki,• shell init — funkcja inicjalizacji powłoki.Powłoka do poprawnej pracy wymaga dwóch zmiennych. Pierwsza, typu Ord str, to tablica zawierającadefinicje rozkazów rozpoznawanych przez powłokę. Kod rozkazu to pozycja w tablicy.Pozycja 0 tablicy zarezerwowana jest na rozkaz wyświetlający powitalne logo. Tablica powinnakończyć się strukturą z polami o wartośći NULL. Druga, typu Shell str, zawiera informacje ostanie powłoki.Definicje struktur znajdują się w pliku nagłówkowym shell.h.42