begin process at 2010 03 20 22:31:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

Port Parallèle en Input, Mode SPP


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Port Parallèle en Input, Mode SPP

lundi 6 juillet 2009 à 11:22:47 | Port Parallèle en Input, Mode SPP

laulau47

Bonjour,

        Je tente de faire fonctionner en C un port parallèle en lecture (mode HighZ input). Le driver du port parallèle est un driver ECP, son adresse est 0x0378, l'OS est WinXP, j'utilise la bibliothèque InpOut32.dll (necessaire pour WinXP). J'utilise les registres SPP 0x0378 (Data Port), 0x0379 (Status Port) et 0x037A (Control Port).

        Comme indiqué dans les documentations de la bibliothèque InpOut32.dll, j'utilise les fonctions Inp32 et Out32 provenant du chargement de la dll. Le programme est compilé en VC++ 6, application console. La dll est chargée sans problème. Les fonctions en écriture du port de Data fonctionnent correctement (testées au multimètre, on a bien les 0 et 1 correspondant à 00 et 0xFF).

        Je me suis un peu documenté sur le port SPP et pour les ports Bi-directionnels, j'ai vu que l'ecriture de 0x20 dans le Control Register (SPP, 0x037A) etait censée faire passer le port en bidirectionnel (High Z/ Input). J'ai effectivement vu dans les souces que CodeS Sources met à disposition que cela était fait dans un grand nombre d'exemples. J'ai donc codé la séquence suivante :

     Out32(PPORT_BASE+2,0x20);
     x = Inp32(PPORT_BASE);
     printf("Input, read (%04X)= %04X\n",i,x);

        A mon grand désespoir, en testant au multimètre le port parallèle, le port n'est pas en High Z et la latch de sortie du port n'est pas tristated (en simple, il sort toujours une tension qui correspond à la dernière valeur ecrite dans le registre de Data). J'ai fait le test avec une préecriture à 00 et 0xFF, dans les deux cas, les valeurs restent après      "Out32(PPORT_BASE+2,0x20);" et je ne peut pas imposer une autre tension sans detruire le port.

        Quelqu'un aurait-il une idée sur la cause de ceci (driver XP ECP et non SPP, accès aux mauvais registres, mauvaise séquence/timing...). Il est à noter que je n'interface pas d'imprimante ou de scanner, juste une sortie de microcontroleur donc pas de handshake (donc en théorie pas besoin de ECP ou EPP, le mode SPP avec les accès directs par le processeurs sont tout ce dont j'ai besoin).

        En remerciant par avance les aimables personnes qui voudront bien me repondre,

          Laulau47


Cette discussion est classée dans : input, port, mode, parallèle, spp


Répondre à ce message

Sujets en rapport avec ce message

Piloter chaque sortie du port parallèle [ par Vortex99011 ] Salut !!!Je voudrais savoir en fait comment faire pour piloter chaque sortie du port parallèle (envoyer simplement '1' ou '0') car tout ce que j'ai tr Interruption sur le port parallèle en C [ par guilmen ] Bonjour,Je suis entrain de réaliser un programme utilisant le port parallèle sous CVI en langage C. Je voudrais récupére l'interruption du port parall peut-on utiliser, en mode lecture écriture, le port servant a connecter lecteur de disquette [ par smoratoff ] Bonjourje voudrais savoir si il était possible d'utiliser le port de carte mère, servant a connecté le lecteur de disquette, en mode lecture écriture Port parallèle+erreur [ par geronimohhh ] salut je fais un programme sous windows 95 permettant de piloter le port parallèle pour programmer un incrusteur vidéo. J'aimerai l'adapter sur un PC Port parallèle [ par tounet9100 ] Bonjour,J'ai un projet d'électronique à faire avec mon université. Il s'agit de programmer un générateur pseudo aléatoire sur la sortie d'un PC avec u port parallèle [ par abdo007 ] salut , je veux savoire comment programmer le port parallèle je veux rèalser un jeux de lumière sur la dase de 12 led ;avec changement d'animation di Couper l'alim d'un port USB [ par Pingouin57 ] Bonjour à tous,J'ai réalisé un petit périphérique se connectant par USB (pour l'alim) et sur le port parallèle du PC (pour les données) dont je suis a Lire sur port parallèle! [ par tof0256 ] Bonjour,J'aimerais lire des données sur le port parallèle. J'aimerai utiliser les 8 bit de donnée pour cela. J'ai une fiche DB25 ou j'ai relié les PIn port parallèle en utilisant io.dll [ par AmineTheGreat ] Bonjour,J'ai un problème qui apparaît lors de l'utilisation de  io.dll pour la manipulation du port parallèle. Ce problème est que  ça ne donne pas d'


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,983 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales