各位高手! 请指点 :我在学习 STM32 时遇到的问题:我的环境是 IAR ;
答案:2 悬赏:10 手机版
解决时间 2021-01-14 20:28
- 提问者网友:遮云壑
- 2021-01-14 11:21
各位高手! 请指点 :我在学习 STM32 时遇到的问题:我的环境是 IAR ;
最佳答案
- 五星知识达人网友:山有枢
- 2021-01-14 11:56
你先跳转到你用到RCC_PLLSource_HSE_Div1的地方,然后右击go to definition xxxxx,看看能不能找到该变量的定义吧。工程中要加入stm32f10x_rcc.c文件,而且在stm32f10x_conf.h(或是
stm32f10x.h依库版本而定)文件中将的注释去掉。
有时候后面提示的错误有可能是因为前面引起的。追问您好!很感谢您的帮助!
先跳转到你用到RCC_PLLSource_HSE_Div1的地方,然后右击go to definition xxxxx,看看能不能找到该变量的定义吧
试了,不能找到 该变量的定义,请问下一步该怎么 做? 谢谢!追答在stm32f10x_rcc.h文件中有这么一段定义:
#if !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD_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))
这里采用的的是条件编译,如果条件满足,那么RCC_PLLSource_HSE_Div1 是会定义的,这里说明你的条件不满足,也就是说你没有定义所使用芯片的类型,比图STM32F10X_CL表示互联型,STM32F10X_LD表示大容量密度型的……
你要在stm32f10x.h文件中的条件编译部分根据你使用的芯片类型去掉相应的注释,比如我使用的是XL型的,则将#define STM32F10X_XL 的注释去掉,如下
#if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD) && !defined (STM32F10X_XL) && !defined (STM32F10X_CL)
#define STM32F10X_XL
#endif
还有种办法就是如图所示:
在defined symbols处定义你使用的芯片类型。
stm32f10x.h依库版本而定)文件中将的注释去掉。
有时候后面提示的错误有可能是因为前面引起的。追问您好!很感谢您的帮助!
先跳转到你用到RCC_PLLSource_HSE_Div1的地方,然后右击go to definition xxxxx,看看能不能找到该变量的定义吧
试了,不能找到 该变量的定义,请问下一步该怎么 做? 谢谢!追答在stm32f10x_rcc.h文件中有这么一段定义:
#if !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD_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))
这里采用的的是条件编译,如果条件满足,那么RCC_PLLSource_HSE_Div1 是会定义的,这里说明你的条件不满足,也就是说你没有定义所使用芯片的类型,比图STM32F10X_CL表示互联型,STM32F10X_LD表示大容量密度型的……
你要在stm32f10x.h文件中的条件编译部分根据你使用的芯片类型去掉相应的注释,比如我使用的是XL型的,则将#define STM32F10X_XL 的注释去掉,如下
#if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD) && !defined (STM32F10X_XL) && !defined (STM32F10X_CL)
#define STM32F10X_XL
#endif
还有种办法就是如图所示:
在defined symbols处定义你使用的芯片类型。
全部回答
- 1楼网友:青尢
- 2021-01-14 13:13
关键是 问题2:Error while running C/C++ Compiler ,可能是你的软件没有完成注册,先查看一下
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯