IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Problème de gestion des LEDS à partir du port paralléle


Sujet :

C++

  1. #1
    Candidat au Club
    Inscrit en
    Août 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Problème de gestion des LEDS à partir du port paralléle
    Salut les amis,
    SVP j'ai un problème avec mon programme: dès que je l'exécute la LED dans D3 s'allume et ne s'éteint pas.
    J'ai collé inpout32.dll dans Windows/system32, le programme se compile et je sais pas où est le problème.
    Ah autre remarque la LED s'allume même quand j'écris seulement un 0 dans le registre du port.

    Voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    #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;
     
         short x;
         int i;
     
         // Chargement de la librairie
         hLib = LoadLibrary("inpout32.dll");
     
         if (hLib == NULL)
        {
              printf("LoadLibrary Failed.\n");
              return -1;
         }
         // Récupération de l'adresse de la fonction avec "GetProcAddress" 
         inp32 = (inpfuncPtr) GetProcAddress(hLib, "Inp32");
         // Vérification que la fonction existe 
         if (inp32 == NULL) {
              printf("GetProcAddress for Inp32 Failed.\n");
              return -1;
         }
         //Récupération de l'adresse de la fonction avec "GetProcAddress" 
         oup32 = (oupfuncPtr) GetProcAddress(hLib, "Out32");
         // Vérification que la fonction existe 
         if (oup32 == NULL) {
              printf("GetProcAddress for Oup32 Failed.\n");
              return -1;
         }
     
         //initialisation du port,
    (oup32)(0x378 + 2, 0x00);
     
     
    //allumer ma LED
     
    (oup32)(0x378, 1<< 3);
     
    //etteindre ma led
    (oup32)(0x378, 0 << 3);
     
     
     
         FreeLibrary(hLib);
         return 0;
    }

  2. #2
    Membre éprouvé
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Points : 1 067
    Points
    1 067
    Par défaut
    Est-ce que le port utilisé n'est pas actif à 0?
    Est-ce que ta LED n'a pas été branchée à l'envers?

    La partie logicielle ma semble à première vue correcte, mais il n'y a que toi qui peut vérifier la partie matérielle (fonctionnement du composant, configuration matérielle, branchements,...).

    Remarque: i et x ne sont pas initialisés et, pire, ne servent à rien.
    "L'ordinateur obéit à vos ordres, pas à vos intentions." [Anonyme]

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/01/2007, 14h58
  2. Réponses: 3
    Dernier message: 18/01/2007, 16h25
  3. [SQL 2005] problèmes de gestion des chiffres décimaux
    Par skystef dans le forum Accès aux données
    Réponses: 1
    Dernier message: 10/01/2007, 11h40
  4. Problème de gestion des langues avec MFC
    Par Figaro dans le forum Visual C++
    Réponses: 4
    Dernier message: 20/11/2006, 15h56
  5. [FLASH 8] Problème de gestion des clips.
    Par glingo dans le forum Flash
    Réponses: 4
    Dernier message: 09/03/2006, 16h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo