Blinken über LPT1 ansteuern

sebastianX

Grünschnabel
Hallo,
ich weiß, dass im Forum einige Fragen zum Ansteuern der seriellen Schnittstelle steht, allerdings für mich nicht viel hilfreiches, oder aussagekräftiges.
Ich habe in C ein kleines Programm versucht. Leider kann ich allerdings am Pin keine Spannung messen. Habe ich vielleicht etwas vergessen?
Als Betriebssystem habe ich win2000 und das Programm läuft unter Turbo C.

#include<stdio.h>
#include<dos.h>

#define port 0x378

int main()
{
int i, count=0;

while(count<100)
{
outportb(0x378,1);
count=count+1;
i=count
printf("%d\n",i);
delay(10000);
outportb(0x378,0);
}
}


Also falls mir jemand etwas weiterhelfen kann, währe ich sehr dankbar.

Gruß
Sebastian
 
bis du dir sicher das die Funktionen unter 2k Funktionieren?
Ich meine du kannst unter 2k (allgemein unter NT) nicht direkt auf die Addressen zugreifen.
Falls dir möglich, versuch den 9x Kompatibilitätsmodus oder direkt unter einem 9x Betriebsystem
 
Hallo,
danke für die Antworten, habe es aber bereits hinbekommen.
Zumindenst kann ich am Ausgang etwas lesen.
Was mir nun noch fehlt, ist mit welchem Befehl ich die Pins direckt und einzeln anspreche, also wie ich die Pins 2 bis 9 anspreche.

gruß
sebastian
homepage: http://www.deepseacam.de
 
Hi!

Ich kann nur meinen Post von vorher wiederholen: Such bei Google nach inpout32.dll.

Damit kannst du den Druckerport direkt ansteuern, sowohl lesend als auch schreibend.

Praktisch sieht es so aus, dass du ein Byte an den Druckerport (dessen Adresse muss dir bekannt sein. idR 888) schreibst.
Ein Byte besteht aus 8 Bit, von denen jedes 2 Zustände annehmen kann: 0 oder 1 -> An oder Aus.
Diese 8 Bits repräsentieren die Pins 2-9.

Wenn du also den Wert 3 (binär 11) an den Parallelport sendest, werden Pin 1 und Pin 2 aktiviert.

Ich hoffe, das reicht als Erklärung.

Gruß
Johannes
 
Danke,
der LPT Port läuft nun, wie gedacht.
Hast Du vielleicht einen Link parat, wo ich alle anderen Port-Adressen für meinen PC bekomme?

Gruß
Sebastian
 
Zurück