[Programmation] STM32 IDE et organisation des fichiers .c et .h
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

STM32 IDE et organisation des fichiers .c et .h



  1. #1
    dje8269

    STM32 IDE et organisation des fichiers .c et .h


    ------

    Bonjour à tous,

    Voila je galère à essayer d'organiser mes fichiers .c et .h par manque de connaissance.

    J'ai un main.c et un main.h utilisant l'UART .

    Afin de piloter un module GSM, j'aimerais créer un fichier .c a part avec son fichier .h associé.
    Mais dans ce nouveau fichier gsm.c et gsm.h j'ai besoin d'utilsier l'UART2 .

    Je n'arrive pas a rendre la fonction UART2 disponible dans mon second fichier .c . J'ai enlevé le static devant la déclaration de la fonction.
    Code:
    void MX_USART2_UART_Init(void)
    J'uitlise l'UART2 en mode DMA.

    Dans le main.c j'ai #include le main.h et aussi le gsm.h
    Dans le gsm.c j'ai #include le main.h et aussi le gsm.h

    Je me perds un peu dans l'organisation des fichiers si vous avez un lien explicatif je suis preneur.

    Est il possible d’utiliser la même variable dans les deux fichiers ? En mettant un extern devant lors de la déclaration ? et dans quelle fichier .h je dois la déclarer ? du coup

    Merci

    -----
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  2. #2
    umfred

    Re : STm32 IDE et organisation des fichiers ;C et .h

    fait un nouveau couple de fichier .c/.h qui contiendra les fonctions que tu souhaites partagées (uart.c/.h par exemple), ça sera bien plus simple: il suffira d'inclure le .h dans les .c qui auront besoin d'une de ces fonctions.

  3. #3
    dje8269

    Re : STm32 IDE et organisation des fichiers ;C et .h

    Bonjour umfred et merci de ta réponse,

    J'avoue ne pas tout avoir compris.

    Créer un nouveau couple uart.c et uart .h pas de probléme.

    Mais avec cube MX l’initialisation de l'uart se trouve toujours dans le main.c .
    Que dois -je mettre dans le uart.c exactement ? un prototype ?
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  4. #4
    umfred

    Re : STm32 IDE et organisation des fichiers ;C et .h

    CubeMX te génère la structure de base il me semble, après tu peux l'adapter.
    Dans uart.c, tu mets le code de ta fonction et dans le .h son prototype, et tu rajoutes les include uart.h en tête du main.c et du gsm.c.
    Il faut les rajouter aussi au niveau du linker, si ce n'est pas fait plus ou moins automatiquement, pour la compilation.

    Peut-être qu'avec cette page https://zestedesavoir.com/tutoriels/...er-son-projet/ , tu vas mieux appréhender l'utilisation

  5. A voir en vidéo sur Futura
  6. #5
    umfred

    Re : STm32 IDE et organisation des fichiers ;C et .h

    En relisant, je me dis que j'ai peut-être mal compris.

    Comme elle était définie en statique, elle (son prototype) ne devait pas être déclarée ailleurs.
    Définie en non statique, le prototype doit être dans main.h, il faudra rajouter ce prototype également dans gsm.h (avec des ifdef si besoin)
    https://community.st.com/s/question/...ic-declaration

    pour les ifdef
    https://community.st.com/s/question/...mber-or-string

Discussions similaires

  1. Stm32
    Par invite25afd93f dans le forum Électronique
    Réponses: 34
    Dernier message: 10/02/2014, 19h21
  2. les fichiers ne s'ouvrent qu'n forme WORD. les types de fichiers sont tous devenus "Fichier LNK (.ln
    Par invite5c625c8a dans le forum Sécurité et malwares : désinfectez votre machine
    Réponses: 2
    Dernier message: 18/12/2013, 13h24
  3. stm32
    Par invite2f7b8032 dans le forum Électronique
    Réponses: 2
    Dernier message: 11/03/2011, 09h38
  4. Acelerateurs des fichiers de partages de fichiers?
    Par inviteeb7cdec4 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 22/06/2005, 13h21
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...