Ik ben bezig met het uitlezen van sensoren op de input pinnen van een printerpoort.
Ik doe dit onder linux, heb ook al een C programma gevonden om de status uit te lezen, maar wanneer ik het programma uitvoer dan retourneert het de waarde 127 wat neerkomt op 1111111.
Het rare is is dat er helemaal nog niets is aangesloten van sensoren dus:
a) het ligt aan het programma , heeft niet voldoende rechten ofzo ...
b) de status van de pinnen is echt allemaal hoog.
Om situatie b uit te sluiten had ik graag geweten of is op een of andere manier de status van de input pinnen van de lpt poort laag kan krijgen?
Dit is trouwens de .c code voor de geinteresseerden;
Ik doe dit onder linux, heb ook al een C programma gevonden om de status uit te lezen, maar wanneer ik het programma uitvoer dan retourneert het de waarde 127 wat neerkomt op 1111111.
Het rare is is dat er helemaal nog niets is aangesloten van sensoren dus:
a) het ligt aan het programma , heeft niet voldoende rechten ofzo ...
b) de status van de pinnen is echt allemaal hoog.
Om situatie b uit te sluiten had ik graag geweten of is op een of andere manier de status van de input pinnen van de lpt poort laag kan krijgen?
Dit is trouwens de .c code voor de geinteresseerden;
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| #include <stdio.h>
#include <unistd.h>
#include <asm/io.h>
#define base 0x379 /* I/O address to read */
main(int argc, char **argv)
{
int value;
if (ioperm(base,1,1))
fprintf(stderr, "Couldn't get the port at %x\n", base), exit(1);
value = inb(base);
printf("Port 0x%x read value is %i \n",base,value);
} |
[ Voor 26% gewijzigd door bibawa op 17-06-2006 22:09 ]