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

  1. #1
    Futur Membre du Club
    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
    Points : 7
    Points
    7
    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 chevronné

    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
    Points : 1 878
    Points
    1 878
    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
    Expert confirmé
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Points : 4 182
    Points
    4 182
    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
    Futur Membre du Club
    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
    Points : 7
    Points
    7
    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