OK, Koji mod?
U svakom slucaju, prvo SPP.
Trebace mnogima pa nek citaju.
KAKO DA KORISTIS LPT:
diode:
Pretpostavljam da diode koristis samo za debuging programa.
Kao sto mozez videti iz specifikacija postoje i ulazni signali koji moraju biti postavljeni tako da se na D0-D7 pojavi tvoj byte.
Ne moras vezivati diode na port kako bi isprobao port. Ima vise programcica kao sto je lptcap, portmon... koji prikazuju stanje na pinovima porta.
qbasic:
Ne znam kako radi qbasic, ali pretpostavljam da imas direktan pristup kontrolnom registru (iza adrese porta). Prouci specifikacije i podesavaj kako hoces. Ali to ces raditi tek kad program bude isproban u SPP modu, pa budes siguran da taj qbasic program radi (ja inace bas i ne volim qbasic). Mozes pogledati luberth.com, tip ima open source program u qbasic-u pa cak koristi i status registar za slanje podataka (ukupno 12 pinova, neki su invertovani).
Bez obzira koji compiler koristis i na kojoj si platformi (win, dos, linux...) treba ti direktan pristup registrima (c++'s outportb()) ili npr gotov api kao sto je javax.comm za javu. To "radi u dosu - ne radi u wind0w$u" mi je odnekud poznato.
Za pocetak uradi ovako:
(gledam u konektor)
Povezi 11 12 i 18 zajedno - busy i paperOut spustis na nulu da prevaris kompjuter da je stampac spreman i da ima papira
11 - busy (inverted)
12 - error (inverted)
18 - gnd (sve od 18 pa nadalje je gnd)
Povezi 13 15 i 16 zajedno - dignes select i error na jedinicu
13 - Select: High when Peripheral is online.
15 - nError or nFault, Low when Peripheral is offline / error / out of paper.
16 - nInitialize or nInit Assert (low) to reset Peripheral. (uvek 1 osim za reset)
Povezi 1 i 10 zajedno - tako povezujes strobe sa ack da bi predstavio periferiju kao spremnu za prijem sledeceg bajta.
1 - Strobe
10 - nAck is asserted when Busy goes off or after data is accepted
Tad ces na D0 - D7 imati taj svoj byte bez obzira kako je to poslato na port.
Ovo je klasican null printer adapter koji osim probe mozes koristiti i za gotov uredaj.
Generisi file sa podacima (byte po byte), povezi diode i posalji ga na port (npr. "copy file lpt1" u dos-u). Moras da pazis da se dovoljno dugo zadrzi jedinica ili nula na pinu da bi uopste video kad se dioda pali ili gasi, ili da radis handshake sa nAck i busy posle strobe signala kako bi objasnio kompjuteru kad da posalje sledeci byte. Ako to radis iz svog programa, mozes da saljes sta hoces i kad hoces tako sto upisujes direktno na port. Ali, ako hoces da budes siguran da je tvoj uredaj shvatio (pohvatao svaki byte), moras da proveravas da li je busy, pa ako nije, saljes dalje.
To se zove SPP.
Eto, prosto i jednostavno.
Sto se tice EPP, to je isto samo postoji dodatni "handshake" za obrnuti smer, ECP je malo komplikovaniji i skini C/C++ source sa
http://www.piclist.com/techref/io/parallel/1284/ecp-ccode-sn.htm