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 :

Programmation entrée/sorties d'une carte d'acquisition [Non suivi]


Sujet :

C

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 29
    Points : 8
    Points
    8
    Par défaut Programmation entrée/sorties d'une carte d'acquisition
    ReReRe Bonjour !
    Oui c'est encore moi, je désepère vraiment, je pense même bientôt abandonner, sauf si ...
    ... Vous pouvez m'aider. Je dois contrôler une carte d'acquisition.
    adresse (hex) : dc00
    mot à envoyer par exemple : 128
    Je dispose du fichier .h suivant :
    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
     
    #define  TYPE_P8R8     1
    #define  TYPE_TMC12    2
    #define  TYPE_DA16     3
    #define  TYPE_DA8      4
     
    #define  MAX_BOARD_NUMBER      16
     
    float  PCI_FloatSub2(float fA, float fB);
    short  PCI_ShortSub2(short nA, short nB);
    WORD   PCI_GetDllVersion(void);
     
    WORD   PCI_DriverInit(WORD *wBoards);
    WORD   PCI_DriverClose(void);
    WORD   PCI_GetDriverVersion(WORD *wDriverVersion);
     
    WORD   PCI_GetConfigAddressSpace(WORD wBoardNo, WORD *wTypeID,
    		   WORD *wAddress0, WORD *wAddress1, WORD *wAddress2,
    		   WORD *wAddress3, WORD *wAddress4, WORD *wAddress5);
     
    void   P16R16_DO(WORD BaseAddr, WORD wOutData);
    WORD   P16R16_DI(WORD wBaseAddr);
     
    void   P8R8_DO(WORD BaseAddr, WORD wOutData);
    UCHAR  P8R8_DI(WORD wBaseAddr);
    S'il vous plait, aidez moi, j'en peux plus. Pourtant j'ai vraiment essayer mais rien, c'est vraiment affreux !
    Utilisez n'importe quels compilateur, je ferais de même.
    De préférence en C.
    Merci pour votre future aide !

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 724
    Points
    5 724
    Par défaut
    Tu veux acquérir des données sur une carte : ok

    Par contre les fonctions que tu nous montres ne sont pas documentées donc à par deviner à quoi elles servent...

    Au coup de piff avant de commencer l'acquisition tu appeles PCI_DriverInit et quand tu as finis PCI_DriverClose
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 29
    Points : 8
    Points
    8
    Par défaut infos
    Salut, c'est vrai que j'ai pas très bien expliquer:
    Alors je pense au code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #include <stdio.h> 
    #include <stdlib.h> 
    #include <p16r16.h>   
    int main() 
    {  
    P8R8_DO(0xdc00,128); 
    delay(500);   
    system("PAUSE"); 
    }
    On retrouve bien l'adresse dc00 est le mot 128 à envoyer.
    Seulement j'ai des problèmes de compilation qui apparaissent.
    Est-ce que quelqu'un pourrait m'expliquer (meme pas msn si c'est possible) les points suivants :
    --- où mettre les fichiers créées ( C:; mes documents, fichier spécial ???)
    --- comment être sûr que j'ai bien lier ma bibliothèque ? (je parle de bibliothèque mais je comprend rien )
    --- comment marche une compilation, suis je obliger de créer un fichier executable.
    --- enfin pourquoi ne puis-je pas utiliser le turbopascal pour contrôler un bus pci (la où ma carte est connectée) ???

    Merci de votre aide !
    mon msn est chaouchnaim@hotmail.com HESITEZ PAS A ME PARLER DESSUS
    merci

  4. #4
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 724
    Points
    5 724
    Par défaut
    Citation Envoyé par nanou1983
    --- où mettre les fichiers créées ( C:; mes documents, fichier spécial ???)
    Là où tu veux sur ton disque pourvu que l'arborescence soit organisée un chouilla (/include /libs /source ...)

    Citation Envoyé par nanou1983
    --- comment être sûr que j'ai bien lier ma bibliothèque ? (je parle de bibliothèque mais je comprend rien )
    Tu auras une erreur au linkage.

    Citation Envoyé par nanou1983
    --- comment marche une compilation, suis je obliger de créer un fichier executable.
    La compilation génére un fichier .obj qui est un fichier binaire dans lequel il y a les références de tes appels aux différentes libs. C'est l'editeur de lien(le linker) qui se charge ensuite de résoudre tout les symboles

    Citation Envoyé par nanou1983
    --- enfin pourquoi ne puis-je pas utiliser le turbopascal pour contrôler un bus pci (la où ma carte est connectée) ??? : x
    peut être que l'on t'a imposé


    Pour le reste on attends les erreurs que ton cher ami Bob l'editeur t'a remonté
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]

Discussions similaires

  1. Réponses: 7
    Dernier message: 20/02/2015, 14h46
  2. [Labview 8.6] Entrées / sorties d'une carte NI 9401
    Par ptit_knard dans le forum LabVIEW
    Réponses: 1
    Dernier message: 05/07/2010, 11h48
  3. Réponses: 5
    Dernier message: 26/10/2006, 09h23
  4. [C#][.NET] pilotage d'une carte d'acquisition tv
    Par TheShadow dans le forum Windows Forms
    Réponses: 3
    Dernier message: 11/04/2006, 16h39

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