Interruption sur le port parallèle en C/C++ sous dos

Signaler
Messages postés
3
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
13 janvier 2005
-
Messages postés
3
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
13 janvier 2005
-
Bonjour,



Je realise un programme dans lequel
je voudrais
récupérer des données sur le port // a l'aide
d une interruption sur port parallèle (arrive sur PE ???) en c/c++ sous turbo
c++ et je suis pas
trés sur de moi ^^ donc voila une partie du programme et
merci pour les reponses



#include <stdio.h>

#include <conio.h>

#include <dos.h>



unsigned Port7A=0x37A; //Ligne de Donnee adresse : 0x37A, en lecture et en ecriture

unsigned Port8=0x378; //Ligne de Donnee adresse : 0x378, uniquement en ecriture

int flag;

char recv, temp;



void interrupt(*vect)();



void interrupt acqui()

{

recv=inportb(0x378);

flag=2;

}



void init()

{

vect=getvect(0x0F);

disable();

setvect(0x0F,acqui);

enable();



temp=inportb(Port7A);

temp=temp | 0x10;

outportb(Port7A,temp); //met l'autorisation d'interruption sur le port // bit4 de 0x37A

}



void main()

{

clrscr();

lecture(); //fonction qui fixe le port // en lecture

init();

do

{

if(flag==2)

{

printf("reception: %x",recv);

flag=1;

}

}

while(!kbhit());

disable();

setvect(0x0c,vect);

enable();

getch();

}

2 réponses

Messages postés
3
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
13 janvier 2005

EDIT: 0x378 marche en ecriture et en lecture suivant le mode je crois.
Messages postés
3
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
13 janvier 2005

EDIT2:



void init()

{

vect=getvect(0x0F);

disable();


temp=inportb(Port7A);

temp=temp | 0x10;

outportb(Port7A,temp); //met l'autorisation d'interruption sur le port // bit4 de 0x37A


setvect(0x0F,acqui);

enable();

}