21. juli 1999 - 22:30Der er
5 kommentarer og 1 løsning
Adgang til parallel-porten fra f.eks. C++ Builder
Hvordan får jeg adgang til direkte at styre parallel-portens data-register ? Jeg har behov for både at sætte og læse signaler. (Peek og Poke, samt outp/inp kender jeg allerede - men er det den rette løsning.)
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Inp og Outp findes ikke i C++ Builder, fordi man under Windows 95 kun kan få eksklusiv adgang til porten via en driver (VxD) - som i sig selv er en hel videnskab at skrive.
Mit behov drejer sig om at styre noget elektronik via parallel-porten, og der vil derfor givetvis ikke være andre programmer, der forsøger at komme til porten mens jeg bruger den. Jeg har derfor lavet følgende løsning:
int inp(int portAddr) { unsigned char portData; asm cli mov dx, portAddr in dx, al mov portData, al sti end; return portData; } int outp(int portAddr, unsigned char portData) { asm cli mov dx, portAddr mov al, portData out dx,al sti end; return inp(portAddr); }
Ved at forbinde f.eks. ben 3 (data bit 2) og ben 20 (signal ground), kan jeg få en lysdiode til at lyse ved at lave 'outp(0x378, 0xFF)' og slukke den igen vha. 'outp(0x378,0x00)' - og det virker fint til mit formål.
Tak til alle der forsøgte at finde et svar til mig.
Jo da, gerne. Jeg antog blot at 0x378 var data-bits, 0x379 input bits til f.eks. !PE, !SELECT osv. Hvis du har en direkte mapping, vil jeg meget gerne have den.
Jeg har Det til at stå i en bog et sted !!! Jeg kan sende det til dig via E-Mail, skal lige finde det !! Ved hvilken bog det står i !!
Synes godt om
Slettet bruger
09. maj 2000 - 17:45#6
kan du ikke sende det til mig??
michael.christiansen@skolekom.dk
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.