Lorsque vous essayez de construire mon projet, je reçois des erreurs comme: ou p> donc il semble que irqn_type et __nvic_prio_bits soient Non défini. P> Autant que je sache, les types de données sont définis dans le fichier STM32F407XX.H et je dis que vous dites déjà où trouver:
-Idrivers / CMSIS / Device / ST / STM32F4XX / Inclure p> Je viens de voir les premières erreurs sont celles-ci: p>
EDIT H3>
In file included from Src/dsp/dsp.c:4:
Drivers/CMSIS/Include/core_cm4.h:1688:39: error: unknown type name 'IRQn_Type'; did you mean 'ITM_Type'?
1688 | __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
3 Réponses :
Pour vous assurer que le fichier d'en-tête de votre microcontrôleur particulier est inclus, vous devez définir la macro correspondante. Dans votre cas, vous devez vous assurer que Une fois que vous l'avez fait, le fichier d'en-tête correspondant sera inclus automatiquement via Si vous vous demandez comment vous assurer que Typiquement, vous n'aurez pas besoin d'inclure explicitement La chaîne inclut peut-elle ressembler à quelque chose comme suit: P>
Les deux derniers sont automatiques - aussi longtemps que -DSTM32F407XX code> est transmis à votre compilateur. Comment exactement vous allez cela dépendra de votre environnement de construction. P>
stm32f4xx.h code>
. P>
stm32f4xx.h code>, à son tour, est inclus - et s'il doit être inclus explicitement dans vos propres fichiers source ... P>
stm32f4xx.h code>. Tant que vous incluez le fichier d'en-tête pour l'un des périphériques standard, tels que le RCC ou GPIO, il sera automatiquement inclus. P>
stm32f4xx_rcc.h code> <- Inclure dans vos fichiers source
stm32f4xx.h code>
stm32f407xx.h code> li>
ul> li>
ul> li>
ul>
-DSTM32F407XX code> est transmis dans vos drapeaux de pré-processeur. P>
Désolé, cela mérite d'être mentionné. L'indicateur -DSTM32F407XX est défini. (Sinon, j'aurais aussi eu l'erreur suivante: "Veuillez sélectionner d'abord le périphérique cible STM32F4XX utilisé dans votre application (dans le fichier STM32F4XX.H)"). Toute autre idée?
@Drimer: Pouvez-vous publier les parties pertinentes de votre maquillage?
J'ai modifié mes questions et j'apprécierais votre aide.
à la place, vous qui inclurait y compris core_cm4.h code> n'est pas censé être inclus directement.
#define code> la ligne MCU ligne em> et
#include code> l'en-tête de la série MCU em>. p>
stm32f407xx.h code> qui À son tour inclut
core_cm4.h code>. p>
stm32f407xx.h code> directement, sans le
#define code> pourrait fonctionner aussi. < / p> p>
Hey. Merci pour votre réponse. J'ai ajouté ces lignes mais j'ai toujours des problèmes là-bas. J'ai modifié ma question. Pouvez-vous regarder à nouveau?
s'il n'est pas présent, votre fichier d'en-tête signifie que le fichier est corrompu ou que quelqu'un avait apporté des modifications, c'est ce fichier. Remplacez votre fichier par un nouveau peut résoudre votre problème. P> p> irqn_type code> est essentiellement une énumération qui contient la valeur de tous les types d'interruptions que le contrôleur a. Par exemple