Next: Programowanie myszki
Up: The Linux Programmer's Guide
Previous: Przegląd funkcji [N]Curses
  Contents
Zazwyczaj pecet ma przynajmniej 2 porty szeregowe i jeden równoległy.
Interfejsy te to urządzenia specjalne przedstawiane jako:
-
Są to RS232 ( porty szeregowe ) w granicach 0-n, n zależy od sprzętu.
-
Są to RS232 ( porty szeregowe ) w granicach 0-n, n zależy od sprzętu.
-
Porty równoległe 0-n, n zależy od sprzętu.
-
Łącza dla joysticków 0-n gdzie
.
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: Programowanie myszki
Up: The Linux Programmer's Guide
Previous: Przegląd funkcji [N]Curses
  Contents
2000-03-01