Witam forumowiczów. Nie jestem pewien czy dobry dział więc od razu przepraszam i proszę o przeniesienie.Więc chodzi o to czy da się napisać program pod lpt który poprzez zwieranie poszczególnych pinów w porcie uruchamiał by odpowiednią komęde lub zadanie w komputerze. Bez żadnych skomplikowanych układów tylko poprzez zamontowanie włączników do poszczególnych pinów. Jak i w jakim programie napisać coś takiego i czy w ogóle to możliwe. Z góry dziękuje za odpowiedź. Pozdrawiam.
Hej,
Nigdy się nie bawiłem portem LPT.
Kiedyś (parę lat temu) napisałem prosty programik w TurboPascalu komunikujący się z portem dżojstika (w karcie dźwiękowej). Do portu podłączone były 2 druciki, który to następnie dołączony były do 2 blaszek a całość umocowana w framudze drzwi. Druga blaszka przyczepiona była do drzwi i w momencie gdy drzwi zostały zamknięte, druciki zostawały zwarte. Przy otwartych drzwiach odczyt bitu z portu dawał inną wartośc niż przy zamkniętym.
Porty (LPT, DŻOJSTIKA) mają swoje adresy w pamięci (wirtualne). Z tych adresów można czytac lub do nich pisać.
Parallel interface.
One way of getting digital I/O.
Data register: Bits 0-7 data
Status Register: Bits: 0-2 not used, 3-Error, 4-Select, 5-paper out, 6-acknowledge, 7 busy.
Control Register: Bits: 0 strobe, 1-Auto-feed, 2-initialise, 3-select, 4-IRQ enable, 5-7 not used
Base address (data register) is at 0x378
Status and control at 0x379 and 0x37A.
Eight outputs
Only status register bits are guaranteed inputs
Accessing the parallel port
Use inpout32.dll - Lake View Research (www.lvr.com).
Provides direct read and write of the I/O
[DllImport("inpout32.dll", EntryPoint = "Out32")]
public static extern void Output(int adress, int value);
[DllImport("inpout32.dll", EntryPoint = "Inp32")]
public static extern int Input(int address);
Use:
Output(port, data); // writes data to port
temp = Input(port); // read port, puts data in temp
Podany przykład jest dla języka C# który jest chyba najpopularniejszym dla początkujących. Wystarczy dodanie tych dwóch import-ów.
Dzięki. W sumie to niezbyt to rozumiem. Więc jak zrobić np. pilocik na 8 przycisków który by włączał odpowiednie komendy. Czy niema ktoś gotowego programu. Jeśli nie proszę o dokładne wytłumaczenie jak za napisanie takiego programu się zabrać. Dziękuję .