Cześć
W jaki sposób można wysłać sygnał na port LPT? Zależy mi na pinach 2..9. Chodzi mi np. o możliwość wysłania do kompa (przez LPT) prostego (0/1) sygnału z jakiegoś czujnika.
Cześć
W jaki sposób można wysłać sygnał na port LPT? Zależy mi na pinach 2..9. Chodzi mi np. o możliwość wysłania do kompa (przez LPT) prostego (0/1) sygnału z jakiegoś czujnika.
nie wiem jak ustawic piny 2..9 jako wejscie, ale moze wystarczy kilka bitow wejsciowych dla zwyklego portu LPT jest chyba ich 4 ?
/piter
czesc;
ja jako osoba o zerowym pojeciu z elektroniki, uzylem do tego linii wejsciowych portu LPT; sa to linie kontrolne; ja uzywalem 10, 11, 12,
13, 15 - czyli wszystkich;linie wiszace sa interpretowane wysokim sygnalem; zas ja wpialem je w obwod do masy przez przekaznik; po zalaczeniu sie przekaznika linia dostaje niski sygnal;
dziala to ladnie na nowszych komputerach; na kompie 386sx wiszace wejscie rzeczywiscie mialo wysoki stan, ale po podlaczeniu zwyklego przedluzacza LTP, zaczynalo wariowac;
pzdrv; adas;
Jeśli masz dwukierunkowy port równoległy, to realizujesz to następująco*:
- ustawiasz rejestr wyjściowy portu na 0xFF
- ustawiasz bit kierunku portu w rejestrze kontrolnym: bit 5, maska 0x20
- odczytujesz stan pinów danych portu z rejestru danych Przykładowa funkcja w C realizująca to zadanie - pod systemem Linux: static guchar read_data ( void ){
gint data; guchar rdata;
data = 0xFF; ioctl(ppdev_fd, PPWDATA, &data); // data lines high ioctl(ppdev_fd, PPDATADIR, &data); // input mode ioctl(ppdev_fd, PPRDATA, &rdata); data = 0; ioctl(ppdev_fd, PPWCONTROL, &data); ioctl(ppdev_fd, PPDATADIR, &data); // output mode return rdata; }; gdzie: ppdev_fd jest deskryptorem urządzenia związanego z portem równoległym.
pozdrawiam
Radosław Korzeniewski
*) w chwili obecnej większość, jak nie wszystkie, dostępne układy portu równoległego mogą pracować jako porty dwukierunkowe, czasami należy w BIOSie ustawić odpowiedni tryb pracy portuElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.