Vraag & Antwoord

Programmeren

Probleem I/O in C++

1 antwoord
  • Hallo, Ik wil via een nulmodem kabel, via de printerpoort, tussen twee PC's 8 bits oversturen. Ik heb twee programma's geschreven in Visual C++. De een geeft output, de ander leest de input. Het probleem is nu dat er alleen maar 5 bits getallen over gestuurd kunnen worden, dus getallen van 0 - 31. Een groter getal dan 32 levert weer het getal 0 op etc. Wie kan mij helpen met dit probleem? Bijgevoegd zijn beide C++ source codes Alvast bedankt voor reacties, groet, Martijn --------------------Output.cpp #include <conio.h> //voor de functie: int _outp( unsigned short port, int databyte ); #include <stdio.h> //voor de functie: scanf("%d", &inval); #include <iostream.h> // Dit programma leest een getal in van het toetsenbord // en stuurt het getal als een 8bits binair getal (unsigned short) naar LPT1 int main () { int inval=0; while ( inval <256) { printf("Enter a value in decimal (256 to quit)>"); scanf("%d", &inval); _outpd(0x378,inval); } _outpd(0x378, 0); return 0; } ----------------------Input.cpp #include <conio.h> //voor de functie: int _inp(); #include <stdio.h> //voor de functie: printf(); #include <iostream.h> // Dit programma leest de LPT1 poort uit // als een 8 bits getal en drukt het resultaat af int main (void) { int inval; int invalold; int output2; while (1) { invalold = inval; inval = _inpd(0x378+1); output2 = (inval | 0x400) >> 3; if (inval != invalold) { printf("Waarde is: %d n", output2); } } return 0; }

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.