scull MySCULL cay bon mangez en! | Bonjour, voici mon petit programme en C++ pour envoyer des signaux sur mon port //. Le problème vient que les diodes en sortie clignotent pas assez vite pour que justement on ne voye pas que elles clignotent.
Voici le code source de mon programme... Comment accélérer l'envoie des signaux ?
Si vous avez une idée merci
Code :
- #include <stdio.h>
- #include <conio.h>
- #include <windows.h>
- #include <iostream.h>
- /* OBLIGATOIRE - NE PAS TOUCHER */
- /* Définitions des fonctions intégrées à la DLL inpout32.dll */
- typedef short _stdcall (*inpFunction)(short portaddr);
- typedef void _stdcall (*oupFunction)(short portaddr, short data);
- /* FIN DE LA ZONE OBLIGATOIRE */
- int main(void)
- {
- /* OBLIGATOIRE - NE PAS TOUCHER */
- HINSTANCE hLib;
- inpFunction inp32;
- oupFunction oup32;
- /* FIN DE LA ZONE OBLIGATOIRE */
- /* Les variables du programme */
- short datasIn, datasOut;
- int port;
- /* OBLIGATOIRE - NE PAS TOUCHER */
- /* Charge la libriairie */
- hLib = LoadLibrary("inpout32.dll" );
- if (hLib == NULL)
- {
- printf("ECHEC: LoadLibrary Failed !!!\n" );
- return -1;
- }
- /* récupère les adresses des fonctions Inp32 et Out32 */
- inp32 = (inpFunction)GetProcAddress(hLib, "Inp32" );
- if (inp32 == NULL)
- {
- printf("ECHEC: GetProcAddress for Inp32 Failed !!!\n" );
- return -1;
- }
- oup32 = (oupFunction)GetProcAddress(hLib, "Out32" );
- if (oup32 == NULL)
- {
- printf("GetProcAddress for Oup32 Failed.\n" );
- return -1;
- }
- /* FIN DE LA ZONE OBLIGATOIRE */
- /* Début du programme de test */
- /* Lecture des registres du port parallèle LPT1 (0x378 à 0x37F) */
- for(port=0x378; (port<0x380); port++)
- {
- datasIn = inp32(port);
- printf("Port LPT read 0x%03X = %04X\n", port, datasIn);
- }
- printf("\n" );
- int affi2 = 0;
- while (true){ // ce qui donne racine1 que on affiche
- cout<<affi2<<endl;
- // incremente
- affi2 == affi2++;
-
- /* Ecriture sur le port parallèle */
- port = 0x378; /* registre DATA */
- datasOut = 0x03; /* 0000 0001 */
- oup32(port, datasOut);
- ;printf("Port LPT write to 0x%X : datasOut=0x%2X\n", port, datasOut, affi2);
- /* Lecture de vérification */
- datasIn = inp32(port);
- ;printf("Port LPT read 0x%03X = %04X\n", port, datasIn, affi2);
- /* SHOOT AGAIN: Ecriture sur le port parallèle */
- port = 0x378; /* registre DATA */
- datasOut = 0xC0; /* 10000000 */
- oup32(port, datasOut);
- ;printf("Port LPT write to 0x%X : datasOut=0x%2X\n", port, datasOut, affi2);
- /* Lecture de vérification */
- datasIn = inp32(port);
- ;printf("Port LPT read 0x%03X = %04X\n", port, datasIn, affi2);
- /* Fin du programme de test */
- }
- /* OBLIGATOIRE - NE PAS TOUCHER */
- /* libère la librairie */
- FreeLibrary(hLib);
- /* FIN DE LA ZONE OBLIGATOIRE */
- return 0;
- }
|
---------------
Créer son forum gratuit | Mon beau blog phpBB caÿ le mal :o
|