begin process at 2010 02 09 18:49:31
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

Utilisation du port // ; mesure temps-résistance


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

Utilisation du port // ; mesure temps-résistance

dimanche 7 mai 2006 à 12:07:36 | Utilisation du port // ; mesure temps-résistance

thibzult

Bonjour,

Je dois d'abord vous dire que mes connaissances en programmations sont ... quasi nulles ! J'ai programmé il y a longtemps en GW-Basic puis Q-Basic, j'ai essayé un peu de turbo mais je me suis vite arrêté... par manque de temps !

Ce que j'essais de réaliser depuis longtemps, c'est une petite interface qui me permette, à partir du port parrallèle, de mesurer une résistance. (pour se faire une idée voir là : [ Lien ]
Vous me direz que le port "jeu" fait ça trés bien ... certe mais la mesure n'est pas trés précise puisqu'elle se fait selon 256 niveaux !
Ce que je souhaite donc c'est votre aide pour programmer un petit logiciel qui fonctionnerais sur ce principe :
1) envoyer une impulsion sur une broche donnée du port
1 bis ) en même temps déclencher une base de temps (chrono)
2) scruter une autre broche donnée
3) dès que le seuil est atteint sur cette broche (+5V) arrêter le chrono.

Voilà...
ça semble assez simple... mais je suis helas absolument incapable de le faire !!
Aprés je me sert du temps de charge d'un condensateur que je met entre les deux broche en série avec la résistance à mesurer et j'en déduis facilement la résistance à partir du temps mesurer ... ça c'est de la physique et du calcul de base, c'est facile...
Moi c'est juste le programme que je n'arrive pas à faire ...

Si vous voulez vous faire une idée de ce que j'essai de faire rendez vous là. C'est un programme rédigé en turbo pascal que je n'ai pas réussi à adapter à mon antique Q-Basic... donc je suis dans l'impasse !!!
[ Lien ]

Merci d'avance pour vos réponses !!
A bientôt !
Thibault
mardi 9 mai 2006 à 08:43:02 | Re : Utilisation du port // ; mesure temps-résistance

Alcantornet

Moi j'ai utiliser une dll (inpout.dll) pour rendre les accès au port plus simple

http://www.logix4u.net/InpOutBinaries.zip                        version i386 et x64
http://www.logix4u.net/inpout32_source_and_bins.zip      version que i386

Ensuite dans ton code fais qqch dans le genre:

#include <stdio.h>
#include <conio.h>
#include <windows.h>

/* Definitions in the build of inpout32.dll are:            */
/*   short _stdcall Inp32(short PortAddress);               */
/*   void _stdcall Out32(short PortAddress, short data);    */


/* prototype (function typedef) for DLL function Inp32: */
typedef short _stdcall (*inpfuncPtr)(short portaddr);
typedef void _stdcall (*oupfuncPtr)(short portaddr, short datum);

int main(void)
{
     HINSTANCE hLib;
     inpfuncPtr inp32;
     oupfuncPtr oup32;

     /* Load the library */
     hLib = LoadLibrary("inpout32.dll");

     if (hLib == NULL) {
          printf("LoadLibrary Failed.\n");
          return -1;
     }
    
     /* get the address of the function */
     inp32 = (inpfuncPtr) GetProcAddress(hLib, "Inp32");

     if (inp32 == NULL) {
          printf("GetProcAddress for Inp32 Failed.\n");
          return -1;
     }


     oup32 = (oupfuncPtr) GetProcAddress(hLib, "Out32");

     if (oup32 == NULL) {
          printf("GetProcAddress for Oup32 Failed.\n");
          return -1;
     }


     short x;
     int i;

     /*****  Write the data register */
     i=0x3BC; // Address du port
     x=0x00;

     oup32(i,x);
    
     printf("port write to 0x%X, datum=0x%2X\n" ,i ,x);

     /***** And read back to verify  */
     x = inp32(i);
     printf("port read (%04X)= %04X\n",i,x);


     system("pause");

     // On libère la DLL
     FreeLibrary(hLib);
    
     return 0;
}


Je suis pas sûr que ça fonctionne parcque ce code était pour une version plus ancienne de la DLL, mais ça dois resembler.

Tout ceci c'est pour travailler sous windows, mais si tu tavail sous linux, c'est plus simple. Sous linux tous les ports sont représenté par des fichiers, donc il suffit de lire ou d'écrire sur le fichier /dev/lpt (ou /dev/lpt0).



Cette discussion est classée dans : port, temps, broche, mesure, résistance


Répondre à ce message

Sujets en rapport avec ce message

Rapidité des systèmes temps réel [ par morpheux74 ] Bonjour,Voila je suis en ce moment sur un projet de traitement d'image qui doit fonctionner avec la meilleure performance possible.Je m'explique:J'ai mesure de temps d'exécution [ par ezneti ] Bonjour tout le monde, Je veux faire la mesure de temps d'exécution d'un programme (de traitement d'image)developpé en C sur un processeur bien determ choix du structure des données [ par boualiasma ] Bonjour, Je vais refaire une grande partie de mon travail car j'ai mal choisi les structures des données car les accès fichiers sont plus coûteux. To port serie (RS232) [ par njinya ] Salut à tout le monde je m'intéresse à l'informatique industriel et j'aimerais manipuler les ports serie(ou parallèles) pour allumer une led par exemp Detecté un port USB par une application developpée en C [ par jirosak ] Bonjour tt le monde, >> bon chere Programmeurs je suis un developpeur debutant en programmation C et je demande l'aide des programmeur experts bon ma communication avec le port série pour un jeu de rapidité [ par titan65 ] Bonjour, Je voudrais construire un jeu de buzzer à 4 joueurs (confronter 4 joueurs différents dans un jeu de rapidité) qui fonctionnerait de la maniè "hooker" un port usb - gestion du flux -rediriger flux de données d'un port usb (tous languages possibles) [ par alloa28 ] Slt à tous, je dois réaliser un programme qui utilise 2 scanners de code barre avec un débit moyen-fréquent. Le problème est que le scanner de code Exercice temps réel [ par cogno ] Bonjour la famille, j'ai un petit exercice simple d'énoncé a vous soumettre, je n'ai pas trouvé de solution. Il s'agit d'un exercice temps réel. Pre Problème pour calculer le temps reel d'un fichier midi [ par djeman ] Voila j'ai un projet de clone de Frets on Fire, qui est un clone de guitar hero. Les évènements, apparition d'une note, indication in game, ... sont


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

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,764 sec (4)

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