"); //-->
error: #20: identifier “HAL_StatusTypeDef” is undefined
我使用的是stm32l0的芯片,由于没有标准库可用,无奈只有折腾HAL库了。
首先,说下上面的错误怎么来的。我使用stm32cubeMX自动生成了代码,
并且自己在工程里面新建了文件,文件里面需要用到HAL外设库中定义的宏定义,
本来应该添加包含“stm32l0xx_hal_dac.h”,但是我发现”stm32l0xx_hal_conf.h”
中有所有外设的头文件,并且通过宏定义打开,所以我在该文件中添加了下面的语句:
#include "stm32l0xx_hal_conf.h"
1
编译后就出现了如下错误:
../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”中已经有了定义,
并且该变量也能成功跳转被找到。我已经包含了宏定义文件“stm32l0xx_hal_conf.h”,
宏定义”HAL_DAC_MODULE_ENABLED“也使能了,添加的文件中变量也能成功跳转找到
“stm32l0xx_hal_dac.h”中的定义,为什么会报错!
后来,我在整理main.c文件发现,其添加的头文件是“stm32l0xx_hal.h”,而不是文件
“stm32l0xx_hal_conf.h”,于是,我将自己添加文件中改为
#include "stm32l0xx_hal.h"
1
再次编译工程,居然编译成功了。其中的原因,我还没有想明白,想明白了再回来补上。
如果有大神知道原因,请指教!
————————————————
原文链接:https://blog.csdn.net/lijing198997/article/details/76455550
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。
相关推荐
STM32的低功耗模式总结!
STM32的定时器进行输入脉冲的计数(代码).
“sacq”的STM32运行uCGUI演示的视频片段1
STM32 100M、10M网卡电路(下)
STM32 3.3V电源电路(提供给CPU和大部分外设)
三款经典的STM32开发板例程汇总
STM32微控制器系列——常见问题解答(基本篇)
基于STM32指甲式脉搏血氧仪七大核心功能解析与实现
基于STM32的智能地震监测预警系统
轻松适配STM32F1/F4,UltraLink开源项目详解 + 脱机烧录全流程演示
FreeRTOS 在STM32上的移植 V1.0
STM32 GPIO的十大优越功能综述
STM32 心电图方案全解析:手把手教你开发医疗级心电监测设备!
汽车表盘显示和GPS地图显示的动感演示
如何使用STM32的PVD对电源的电压进行监控
功率监测与控制系统DIY——搭建环境,定时器翻转LED
手把手教你学ARM-STM32 第一讲 绪论(上)
IAR_STM32开发板原理图
STM32 5向摇杆接口电路
详解STM32单片机的堆栈
基于STM32的MP3播放器设计与实现(提供MDK完整源码)
STM32 3.3V参考电压(用于DAC和ADC)
STM32 100M、10M网卡电路(上)
STM32开发-LL库与HAL库对比
结合RTC实现的“智能定时任务系统”:设计与实战
手把手教你学ARM-STM32 第二讲 STM32最小系统
手把手教你学ARM-STM32 第三讲 系统时钟初始化函数与延时函数的实现
RealView MDK开发STM32奇怪错误的解决
「STM32 Flash 操作全解析」擦除、写入、读取一网打尽!附完整源码
采用按键消抖电路,不用再软件延时了