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 :

#ifdef ne fonctionne pas


Sujet :

C

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 171
    Points : 55
    Points
    55
    Par défaut #ifdef ne fonctionne pas
    Bonjour,

    J'ai un probleme avec mon code et je me demande si le probleme ne serait pas le suivant: mon code n'est tout simplement pas execute.

    En effet, comme vous pouvez le voir sur l'image ci-dessous, mon code est en gris a cause du #ifdef HAL_USART_MODULE_ENABLED

    Nom : ifdef.jpg
Affichages : 425
Taille : 179,0 Ko

    Cependant, ce dernier est bien defini dans mon fichier de configuration stm32l1xx_hal_conf.h:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #define HAL_UART_MODULE_ENABLED
    Est-ce normal?

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par tengalice49 Voir le message
    Cependant, ce dernier est bien defini dans mon fichier de configuration stm32l1xx_hal_conf.h:
    Et ce fichier est bien inclus plus haut ?
    Avec un define sans faute ?
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre émérite
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    Janvier 2011
    Messages
    696
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur touche à tout

    Informations forums :
    Inscription : Janvier 2011
    Messages : 696
    Points : 2 439
    Points
    2 439
    Par défaut
    Bonjour.

    Sur ton image : #define HAL_USART_MODULE_ENABLED.

    Celui que tu as défini : #define HAL_UART_MODULE_ENABLED.

    Regarde bien, il y a un légère différence entre les deux.
    Je fais appel aux esprits de Ritchie, Kernighan, Stroustrup et Alexandrescu
    Donnez moi la force, donnez moi le courage de coder proprement !

    « Ça marche pas » n'est PAS une réponse convenable, merci de détailler le souci en fournissant l’environnement, le code source, les commandes et les messages d'erreur.

    Ce club possède également un clavardage, on y trouve quelques perles entre deux sessions d'entraides.

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 171
    Points : 55
    Points
    55
    Par défaut
    Salut,

    Et ce fichier est bien inclus plus haut ?
    Le fichier stm32l1xx_hal_usart.c inclus stm32l1xx_hal.h, et ce dernier inclus stm32l1xx_hal_conf.h, dans lequel se trouvent les define:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #define HAL_UART_MODULE_ENABLED
    #define HAL_USART_MODULE_ENABLED
    D'ailleurs je ne suis meme pas certain que ca aille jusque la car dans stm32l1xx_hal.h, l'appel de stm32l1xx_hal_conf.h est aussi en gris:

    Nom : ifdef2.jpg
Affichages : 408
Taille : 211,4 Ko

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Il arrive que certains IDE aient du mal avec les define selon la complexité du projet et des fichiers.
    Qu'il soit grisé est un signe mais pas forcément un problème.
    Tant que le programme compile quand tu utilises les fonctionnalités, alors il n'y a pas de problème.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 171
    Points : 55
    Points
    55
    Par défaut
    J'ai essaye de placer un breakpoint et je passe bien dans la fonction donc ce que tu dis me rassure, j'ai plus qu'a chercher le probleme ailleurs ahah
    Merci!

  7. #7
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Juin 2009
    Messages
    4 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 481
    Points : 13 679
    Points
    13 679
    Billets dans le blog
    1
    Par défaut
    Je trouve que tu trafiques bien beaucoup dans des fichiers qui sont normalement générés par STM32CubeMX. Si tu utilises toujours cet outil pour générer ton projet, alors tu obtiens les fichiers dont tu as besoin et les configurations qui vont avec. Tu ne devrais pas avoir à modifier les fichiers générés (sauf entre les balises qui vont bien "USER BEGIN" et "USER END") et même à te poser des questions sur leur contenu.

    Bousk fait une excellente remarque. D'expérience, Eclipse CDT galère souvent. Ce qui compte, c'est ce que te dit ton compilateur.

    Si tu veux savoir si du codes est exécuté ou non, la bonne façon de faire est de mettre un breakpoint et de déboguer ce code.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 27/01/2004, 11h14
  2. [FP]Writeln ne fonctionne pas !
    Par néo333 dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 01/11/2003, 23h47
  3. UNION qui ne fonctionne pas
    Par r-zo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/07/2003, 10h04
  4. Un Hint sur un PopupMenu ne fonctionne pas !!??
    Par momox dans le forum C++Builder
    Réponses: 6
    Dernier message: 26/05/2003, 16h48
  5. ca ne fonctionne pas (generateur auto-incrémentant)
    Par tripper.dim dans le forum SQL
    Réponses: 7
    Dernier message: 26/11/2002, 00h10

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