I C++Builder er inport() og outport() ikke definerede. Jeg har lavet følgende til at styre noget elektronik via LPT-porten:
int inport(int portAddr = 0x378) { WORD portData = 0x00; asm { mov dx,portAddr in al,dx mov portData,al }; return portData; } // inport
void outport(int portAddr, WORD portData = 0x00) { asm { mov dx, portAddr mov al, portData out dx, al }; } // outport
LPT-portens data registrere (som ligger på i den byte som starter på adresse 378h) er i øvrigt triggerede, forstået på den måde at en sat bit bliver stående indtil du selv "sletter" den - eller den forbunde elektronik gør dette elektrisk. Hvis du skal til at kommunikere med f.eks. en printer eller en anden PC'er via et FastLynx kabel, tror jeg du skal lede efter en ActiveX komponent på Nettet i stedet - så skal man jo tage højde for timingen mellem karaktererne osv.
Du skal bruge windows 32 API, SDK hjælpefilen kan hentes på microsofts side. Der kan du kigge under afsnittet I/O. Du skal så foretage nogle initialiseringer af strukturer, og dernæst åbnes porten. Timing kan du også styre via API´et. Det er det smarteste at bruge API´et da det skriver direkte til windows egen medfølgende driver til styring af dine porte !
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.