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 :

Compréhension d'un programme


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2015
    Messages : 5
    Par défaut Compréhension d'un programme
    Bonjour,

    Je me suis lancé dans la programmation d'interface USB et j'ai un soucis sur la compréhension d'un programme du cours. Je lis sur le site "http://www.abcelectronique.com/acquier/usb7_fr.htm". Mon soucis est sur ce 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
    const USB_CONFIG_DATA ConfigurationDescriptor= {
        {                              /* configuration descriptor */
        sizeof(USB_CONFIGURATION_DESCRIPTOR), /* bLength */
        TYPE_CONFIGURATION_DESCRIPTOR, /* bDescriptorType */
        sizeof(USB_CONFIG_DATA),       /* wTotalLength */
        1,                             /* bNumInterfaces */
        1,                             /* bConfigurationValue */
        0,                             /* iConfiguration String Index */
        0x80,                          /* bmAttributes Bus Powered, No Remote Wakeup */
        0x32                           /* bMaxPower, 100mA */ 
        },
        {                              /* interface descriptor */
        sizeof(USB_INTERFACE_DESCRIPTOR), /* bLength */
        TYPE_INTERFACE_DESCRIPTOR,     /* bDescriptorType */
        0,                             /* bInterface Number */
        0,                             /* bAlternateSetting */
        2,                             /* bNumEndpoints */
        0xFF,                          /* bInterfaceClass (Vendor specific) */
        0xFF,                          /* bInterfaceSubClass */
        0xFF,                          /* bInterfaceProtocol */
        0                              /* iInterface String Index */
        },
        {                              /* endpoint descriptor */
        sizeof(USB_ENDPOINT_DESCRIPTOR),  /* bLength */
        TYPE_ENDPOINT_DESCRIPTOR,      /* bDescriptorType */
        0x01,                          /* bEndpoint Address EP1 OUT */
        0x02,                          /* bmAttributes - Interrupt */
        0x0008,                        /* wMaxPacketSize */
        0x00                           /* bInterval */
        },
        {                              /* endpoint descriptor */
        sizeof(USB_ENDPOINT_DESCRIPTOR),  /* bLength */
        TYPE_ENDPOINT_DESCRIPTOR,      /* bDescriptorType */
        0x81,                          /* bEndpoint Address EP1 IN */
        0x02,                          /* bmAttributes - Interrupt */
        0x0008,                        /* wMaxPacketSize */
        0x00                           /* bInterval */
        }
    };

    C'est quel type de forme ou de type primitif ? J'ai du mal a comprendre cela.

  2. #2
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2013
    Messages : 610
    Billets dans le blog
    21
    Par défaut
    A vue de nez, je dirais que c'est une structure USB_CONFIG_DATA, qui contient elle-même plusieurs structures: USB_CONFIGURATION_DESCRIPTOR, USB_INTERFACE_DESCRIPTOR, USB_ENDPOINT_DESCRIPTOR*2.
    Mais cela pourrait être également un tableau de tableaux puisqu'ils sont de la même taille et a priori de même type.
    Tu devrais avoir la définition quelque part dans le code, avec un bon IDE ou un grep tu devrais pouvoir la retrouver

  3. #3
    Membre Expert
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Par défaut
    Il s'agit d'un type struct défini dans l'un des en-têtes mentionnés dans le morceau de code précédent, comme précisé par le commentaire de l'auteur :

    Les " structures " sont toutes définies dans les fichiers d'en tête.

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2015
    Messages : 5
    Par défaut
    Citation Envoyé par Matt_Houston Voir le message
    Il s'agit d'un type struct défini dans l'un des en-têtes mentionnés dans le morceau de code précédent, comme précisé par le commentaire de l'auteur :
    merci Matt_Houston

+ Répondre à la discussion
Cette discussion est résolue.

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