Ich habe da ein Programm gebastelt, das irgendwie nicht funktionieren will:
#include
#define INPORT 0x378;
void main()
{
unsigned char value;
__asm
{
mov dx,INPORT
in al,dx
mov value,al
}
if (value == 1) {
std::cout
Ich habe da ein Programm gebastelt, das irgendwie nicht funktionieren will:
#include
#define INPORT 0x378;
void main()
{
unsigned char value;
__asm
{
mov dx,INPORT
in al,dx
mov value,al
}
if (value == 1) {
std::cout
Hallo Fragewurm,
Ich habe da ein Programm gebastelt, das irgendwie nicht
funktionieren will:#include
#define INPORT 0x378;void main()
{
unsigned char value;
__asm
{
mov dx,INPORT
in al,dx
mov value,al
}if (value == 1) {
std::coutBetriebssystem ist WinXP, genutzt wird Microsoft visual c++,
angesteuert wird der Parallelport.
Tja, das geht eben nicht !!
XP ist ein MULTITASK-Betriebssystem und da ist es nicht erlaubt einfach an den Ports rumzuspielen.
Stell dir mal vor, da ist ein Drucker dran.normalerweise wird ja die Ausgabe von einem Programm in den Spooler umgeleitet und dann der Reihe nach gedruckt, und jetzt kommt irgendein Programm und fummelt da dierekt irgendwelche Befehle zum Drucker. Alles was da gerade im Hintergrund gedruckt wird ist dann für den Papierkorb.
Weietrhin funktioniert deine Abfrage in form:
if (value == 4)
nicht richtig!! Wenn z.B. Pin 1 und 4 gleichzeitig gesetzt sind ist der Wert von „value“ 5 und dein Programm liefert falsche Angaben.
Die Abfrage müsste folgendermassen lauten:
if (value & 4)
MfG Peter(TOO)
Hi Peter,
danke schonmal für die Korrektur, aber hättest du noch ne Lösung für XP? Das ganze muss auf XP laufen, da komme ich nicht drum herum.
Wäre schön wenn du vielleicht ne Lösung hättest
Curu
Hallo,
wie Peter schrieb, geht’s unter XP nicht so einfach. Du brauchst einen Treiber für den Port, der auf den von Windows vorgesehenen Wegen auf die Register zugreift.
Das hier klingt so, als könnte es was sein:
http://www.beyondlogic.org/porttalk/porttalk.htm
Gruß, Ralf
Hallo Curu,
ohne Treiber geht es unter XP nicht.
Der hier funktioniert ganz gut und ist Freeware:
http://www.driverlinx.com/DownLoad/DlPortIO.htm
Gruß
Christiane