Avatar billede soepro Nybegynder
21. juli 1999 - 22:30 Der 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.)
Avatar billede butthead Nybegynder
29. august 1999 - 03:08 #1
Hvis du ikke har fået løst problemet selv :

Skal du bruge en Header fil eller en DLL ??

Jeg ved ikke om der er nogen rigtig forskel på Peek/Poke & Inp/Outp !!

Hvis du kan brugen en header fil kan jeg da godt strikke en sammen til dig !!

Butthead        butthead@email.dk
Avatar billede soepro Nybegynder
30. august 1999 - 09:16 #2
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.
Avatar billede butthead Nybegynder
30. august 1999 - 16:08 #3
Vil du så ikke have adgang til de forskellige Registre i Parallel porten ??

Butthead
Avatar billede soepro Nybegynder
31. august 1999 - 08:55 #4
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.
Avatar billede butthead Nybegynder
02. september 1999 - 21:22 #5
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 !!
Avatar billede Slettet bruger
09. maj 2000 - 17:45 #6
kan du  ikke sende det til mig??

michael.christiansen@skolekom.dk
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



Seneste spørgsmål Seneste aktivitet
I dag 06:10 Excel åbner fil i kæmpe format Af Aske i Excel
I går 22:00 Datafordeler Af Lsk i PHP
I går 12:37 Summere beløb pr. dato Af TTA i Excel
31/1022:44 Tilslutte chassic fans Af viking69 i PC
31/1020:28 LED lysstofrør Af ErikHg i Fri debat