Avatar billede apocryphal Nybegynder
07. april 2002 - 17:35 Der er 7 kommentarer og
1 løsning

Sende data TIL PCens parallelport.

Jeg skal lave et elektronikprojekt, og jeg agter at anvende min PCs parallelport.

Jeg kan sagtens sende data fra PCen til mit hardware, men jeg kan ikke umiddelbart få det til at virke den anden vej.

Hvordan kan jeg modtage 8 bit data, med kun 5 modtagerben? - der er jo 8 sende ben

Og har jeg misforstået det, men for sætte et sende en bit til PCen, skal jeg lave forbindelse mellem ben 18, og det ben, der passer til den bit jeg vil sende til PCen?

--
Jonas
Avatar billede driis Nybegynder
07. april 2002 - 18:22 #1
De 8 ben, du sender ud af PC'en med, skal du også bruge til at modtage med. Det kræver, at PC'en i BIOS er sat til Bi-Directíonal, eller et andet mode, som både tillader dig at sende og modtage (Det er stort set kun 'Standard LPT' mode, som ikke tillader dig at modtage data på LPT porten).

Hvordan du rent praktisk modtager bits'ne, kommer an på hvilken platform du bruger til at programmere det på PC'en. Jeg har et DLL, som jeg bruger under VB, hvor jeg med en funktion umiddelbart kan udlæse, om der er +5V eller 0V på hvert enkelt ben. Jeg ved ikke, hvor du har de 5 modtagerben, du skriver om, fra. Du skal bruge de 8 ben, som er beskrevet som 'data bits' i dette skema:
www.driis.mobilixnet.dk/pport.jpg

Til dit projekt kan jeg anbefale dig at låne bogen "Parallel Port Complete" på biblioteket, der kan du helt sikkert finde svar på alle dine spørgsmål (kræver dog, at du kan forstå teknisk engelsk ;-) Jeg kan desværre ikke lige huske, hvem der har skrevet den, beklager.
Avatar billede thda Nybegynder
07. april 2002 - 19:15 #2
læs også dette: http://www.eksperten.dk/spm/192032
hvis du bruger ntport skal du sætte portadressen til 889 eller 890 afhængig af hvilke indgange du vil bruge. Value får så en værdi der svarre til indgangenes starus. Prøv at downloade programmet/koden (VB) jeg henviser til på ovenstående side.
Avatar billede apocryphal Nybegynder
07. april 2002 - 19:32 #3
driis:
Det er noget i de retning vi skal.

Hvilke ben, på parallelporten skal jeg forbinde til hvilke, for sende: 00000001, altså 1 i decimal??

Jeg læser det jo så bare enten med:
C:\>debug
-i 379

eller i et C program med _inp(); ??

--
Jonas
Avatar billede nikor Nybegynder
08. april 2002 - 11:30 #4
driis >> hvorfor ikke bare bruge de porte der er lavet til input?
Avatar billede microtec Nybegynder
08. april 2002 - 14:10 #5
"Hvordan kan jeg modtage 8 bit data, med kun 5 modtagerben? - der er jo 8 sende ben"

Ja, der er 8 "sendeben" (udgange) for det er 8-bit data der sendes til en printer. Der er kun 5 "modtagerben" (indgange) fordi der kun skal bruges 5 input kontrolsignaler i en printerport. Det du, og jeg og mange andre, bruger printerporten til, er den ikke designet til. DERFOR er der kun 5 indgange.
Avatar billede microtec Nybegynder
08. april 2002 - 14:13 #6
Brug en 74HC240 til at løse dit problem.
Så kan du læse dine 8 indgange af 2 gange. Du bruger en enkelt udgang til at vælge om det er de 4 mest betydende eller mindst betydende bit du vil læse.
Avatar billede apocryphal Nybegynder
09. april 2002 - 21:57 #7
Nå, jeg fik bugt med den, ved at tvinge Control-registret til at være bi-directionelt. Dette kunne gøres ved at sætte alle bits i Control-registret (0x37A), til logisk 1.

Derfra kan man så bare aflæse dem, og sammenholde dem med de bits man får i Status-registret (0x379).

--
Jonas
Avatar billede apocryphal Nybegynder
09. april 2002 - 22:02 #8
Using the control port bi-directional bits is not as simple as just
reading them using inb(). We have to force all the four outputs on the
lower nibble of the control port to logic one. This will result in
external signals being forced on these inputs and then we can read
using the inb().
 
int i;
outb(CONTROL, 0x0f^0x0b);
 
/* inverting to go around the hardware inversion */
i = (inb(CONTROL) & 0x0f) ^ 0x0b;

--
Jonas
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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