next up previous contents
Next: Programowanie myszki Up: The Linux Programmer's Guide Previous: Przegląd funkcji [N]Curses   Contents

Programowanie portów We/Wy

Zazwyczaj pecet ma przynajmniej 2 porty szeregowe i jeden równoległy. Interfejsy te to urządzenia specjalne przedstawiane jako:

Różnicą pomiędzy urządzeniami /dev/ttyS* i /dev/cua* jest sposób obsługi wywołania open(). Urządzenia /dev/cua* używane są jako urządzenia wywołujące, dlatego przekazuje się im poprzez wywołanie open() inne domyślne ustawienia, niż dla urządzeń /dev/ttyS*, które inicjuje się dla wywołań wychodzących i przychodzących. Domyślnie pliki urządzeń kontrolują urządzenia dla procesu który je otworzył. Normalnie żądanie ioctl() powinno obsłużyć wszystkie pliki specjalne, jednak POSIX preferuje użycie nowych funkcji obsługujących niesynchroniczne terminale, są one znacząco zależne od struktury termios. Obie metody wymagają włączenia pliku <termios.h>.

1.
Metoda ioctl:
TCSBRK, TCSBRKP, TCGETA ( pobieranie atrybutów ), TCSETA ( ustawianie atrybutów )
Żądania kontrolujące We/Wy terminala ( TIOC ):
TIOCGSOFTCAR ( ustaw programową karetkę ), TIOCSSOFTCAR ( pobierz programową karetkę ), TIOCSCTTY ( ustaw kontrolującą tty ), TIOCMGET ( pobierz modemlines(?) ), TIOCMSET ( ustaw modemlines ), TIOCGSERIAL, TIOCSSERIAL, TIOCSERCONFIG, TIOCSERGWILD, TIOCSERSWILD, TIOCSERGSTRUCT, TIOCMBIS, TIOCMBIC, ...
2.
Metoda POSIX:
tcgetattr(), tcsetattr(), tcsendbreak(), tcdrain(), tcflush(), tcflow(), tcgetpgrp(), tcsetpgrp()
cfsetispeed(), cfgetispeed(), cfsetospeed(), cfgetospeed()
3.
Inne metody:
outb,inb dla programowania sprzętu ( np.: użycie portu drukarki nie dla drukarki ).




next up previous contents
Next: Programowanie myszki Up: The Linux Programmer's Guide Previous: Przegląd funkcji [N]Curses   Contents

2000-03-01


Poltronic