Bonjour à tous,
Je voudrais utiliser le port parallèle de mon PC (sous win98, c'est plus facile ...) pour envoyer une donnée sur 8 bits à un circuit numérique...
J'ai déjà fait ce genre de manip il ya quelque temps, mais après un formatage de disque, j'ai perdu mon programme que je croyais avoir sauvegarder et puis en fait ... non ...
Alors voilà mon problème : avec le programme qui suit (sous Visual studio C++), je parviens à lire les données qui sont sur le port mais pas à écrire autre chose (c'est juste un programme test avec au bout du cable // une platine avec 8 leds pour visualiser les sorties):
J'ai télécharger un logiciel qui se nomme "parallele.exe" et qui permet de mettre à 1 ou 0 les bits de donnéedu port // simplement. Et ce programme fonctionne très bien, il arrive à lire et à écrire ...
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define DATA 0x378
#define CONTROLE 0x37A
//mes 2 fonctions pour lire et ecrire :
unsigned char lire_port(void)
{
_outp(0xEE, CONTROLE);
return _inp(DATA);
}
unsigned char ecrire_port(val)
{
_outp(0xEC, CONTROLE);
_outp(val, DATA);
return val;
}
void main(void)
{
int val=0;
val=lire_port();
printf("val=%d", val);
ecrire_port(10); /*je lui met 10, mais ça pourrait etre n'importe quoi ...*/
system("pause");
}
Donc voilà, quand je lance ce programme, il m'affiche bien la valeur qui se trouve sur le port, mais ne peut pas en écrire une nouvelle ...
Coté BIOS, je suis en EPP/ECP (donc en bidirectionnel) et j'ai essayer toutes les config possibles (unidirectionnel, bi-directionnel, EPP/ECP).
Merci de votre aide !
Michael
-----