STM32 HAL庫(kù) error: #20: identifier "HAL_StatusTypeDef" is undefined問題
error: #20: identifier “HAL_StatusTypeDef” is undefined
我使用的是stm32l0的芯片,由于沒有標(biāo)準(zhǔn)庫(kù)可用,無(wú)奈只有折騰HAL庫(kù)了。
首先,說(shuō)下上面的錯(cuò)誤怎么來(lái)的。我使用stm32cubeMX自動(dòng)生成了代碼,
并且自己在工程里面新建了文件,文件里面需要用到HAL外設(shè)庫(kù)中定義的宏定義,
本來(lái)應(yīng)該添加包含“stm32l0xx_hal_dac.h”,但是我發(fā)現(xiàn)”stm32l0xx_hal_conf.h”
中有所有外設(shè)的頭文件,并且通過(guò)宏定義打開,所以我在該文件中添加了下面的語(yǔ)句:
#include "stm32l0xx_hal_conf.h"
1
編譯后就出現(xiàn)了如下錯(cuò)誤:
../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal.h(374): error: #20: identifier
“HAL_StatusTypeDef” is undefined
HAL_StatusTypeDef HAL_Init(void);
../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal.h(375): error: #20: identifier
“HAL_StatusTypeDef” is undefined
HAL_StatusTypeDef HAL_DeInit(void);
../Drivers/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal.h(378): error: #20: identifier
“HAL_StatusTypeDef” is undefined
HAL_StatusTypeDef HAL_InitTick (uint32_t TickPriority);
..\Drv\dac\drv_dac.c: 0 warnings, 3 errors
一直想不明白,“HAL_StatusTypeDef”變量在“stm32l0xx_hal_def.h”中已經(jīng)有了定義,
并且該變量也能成功跳轉(zhuǎn)被找到。我已經(jīng)包含了宏定義文件“stm32l0xx_hal_conf.h”,
宏定義”HAL_DAC_MODULE_ENABLED“也使能了,添加的文件中變量也能成功跳轉(zhuǎn)找到
“stm32l0xx_hal_dac.h”中的定義,為什么會(huì)報(bào)錯(cuò)!
后來(lái),我在整理main.c文件發(fā)現(xiàn),其添加的頭文件是“stm32l0xx_hal.h”,而不是文件
“stm32l0xx_hal_conf.h”,于是,我將自己添加文件中改為
#include "stm32l0xx_hal.h"
1
再次編譯工程,居然編譯成功了。其中的原因,我還沒有想明白,想明白了再回來(lái)補(bǔ)上。
如果有大神知道原因,請(qǐng)指教!
————————————————
原文鏈接:https://blog.csdn.net/lijing198997/article/details/76455550
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。