rror: #20: identifier "RCC_PLLSource_HSE_Div1" is undefined

错误:User\main.c(122): error:  #20: identifier "RCC_PLLSource_HSE_Div1" is undefined

意思是RCC_PLLSource_HSE_Div1未定义。

我的工程中包含了 stm32f10x_rcc.h  可仍然显示 “RCC_PLLSource_HSE_Div1”未定义

打开stm32f10x_rcc.h文件发现如下内容

#if !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD_VL) && !defined (STM32F10X_CL)
 #define RCC_PLLSource_HSE_Div1           ((uint32_t)0x00010000)
 #define RCC_PLLSource_HSE_Div2           ((uint32_t)0x00030000)
 #define IS_RCC_PLL_SOURCE(SOURCE) (((SOURCE) == RCC_PLLSource_HSI_Div2) || \
                                   ((SOURCE) == RCC_PLLSource_HSE_Div1) || \
                                   ((SOURCE) == RCC_PLLSource_HSE_Div2))
#else
 #define RCC_PLLSource_PREDIV1            ((uint32_t)0x00010000)
 #define IS_RCC_PLL_SOURCE(SOURCE) (((SOURCE) == RCC_PLLSource_HSI_Div2) || \
                                   ((SOURCE) == RCC_PLLSource_PREDIV1))
#endif /* STM32F10X_CL */

 

主要注重下面这条语句:

#if !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD_VL) && !defined (STM32F10X_CL)

----

#else

--

#endif

意义:STM32F10X_LD_VL、STM32F10X_MD_VL、STM32F10X_HD_VL 这几个宏如果没有被定义便执行下面的内容,

否则执行#else下面的语句

 

出现上面的错误下是因为有了这个判断,因为我在工程属性中的“C\C++” 页中的“Define”项中添加了“STM32F10X_MD_VL”宏,也就是定义“STM32F10X_MD_VL”这个宏。所以在“stm32f10x_rcc.h”文件中未

执行 #if !defined (STM32F10X_LD_VL)…… 以下的内容,RCC_PLLSource_HSE_Div1 也就未定义。

修改方法:将工程属性中的“C\C++” 页中的“Define”项中的 “STM32F10X_MD_VL”换成STM32F10X_MD 就可以了。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值