stm32 中固件库编译时为什么总是提示有未定义的量?

经常是有的数据类型未定义或常量未定义。使用固件库还需要包括一个头文件么?

第1个回答  推荐于2016-11-11
使用固件库时 在文件中打开使用的库头文件stm32f10x_conf.h


#include "stm32f10x_adc.h"
#include "stm32f10x_bkp.h"
/* #include "stm32f10x_can.h" */本回答被提问者和网友采纳
第2个回答  2010-11-27
最好贴张图片上来看看,这样也不清楚,应该是有的头文件没加进来

我在给stm32编程的时候提示:error: #20: identifier "TIM2_IRQChannel...
你的固件库里的库文件没有添加进工程里面,所以出现未定义的情况。TIM2_IRQChannel指定时器2的中断通道没有定义,其实在固件库对这些参数都有定义,宏定义代替了一串寄存器地址数据。

网上流传的stm32固件库是那个版本
2.0的库主头文件一般是“…….lib”,而3.0以后的版本是“…….h”找不到函数是因为它版本变了,名字也改了,但是内容其实也差不多,你只要搜索的时候不要输入全名,搜关键字进去就可以找到了。

stm32固件库中有没有提供stm32f10x_conf.c的?
这个函数的原型在main.c中,在使用DEBUG条件编译时才有效,一般都没用的。stm32f10x_conf.h文件主要是列出引用了什么文件,比如外设的头文件,比如adc、dac、usart、spi等等。

MDK工程中,多个启动文件,KEIL是怎么识别要编译哪个的
startup_stm32f10x_hd.s这个文件上没有其他文件图标上的三个红点,表示它现在是包含在项目中的。查看它的配置属性:注意到了:Include in Target Build。也就是说在编译的时候编译这个文件。其他几个文件这个选项都是没有勾选的,也就是不编译。

st固件库中,函数的命名规则有哪些特点?
1、系统文件名和源文件以‘stm32f10x_’的形式表示。2、在单一文件中使用的常量在该文件中定义。在多个文件中使用的常量定义在头文件中。所有常量都以大写字母表示。3、寄存器当做常量看待,同样以大写字母表示,多数情况下,在STM3210X参考手册中使用相同的缩写。4、外围模块的功能函数的名字,需要有...

如何使用STM32
关于获取ST公司的STM32固件库源码,有几种方法。我们可以在百度上搜,网上有进行了分享,也可以到ST公司的官网进行查找并下载。不过,如果英文不好的话,要在官网上找到STM32固件库确实是件很吃力的事。在官网上可以根据英文提示按不同条件进行筛选,具体操作如下图所示:END 第二步:新建工程文件夹—...

STM32 v3固件库编写SYSTICK,不报错,不进入中断,请大牛指点!
《如何从STM32F10xxx固件库V2.0.3升级为STM32F10xxx标准外设库V3.0.0》一文中的“3.3.2 SysTick”讲到:在标准外设库中移除了SysTick的驱动,因此用户必须调用CMSIS定义的函数。CMSIS只提供了一个SysTick设置的函数,替代了STM32原有SysTick驱动的全部函数。SysTick_Config(uint32_t ticks);该...

为什么要使用STM32固件库?
3、可以大大减少用户的程序编写时间,进而降低开发成本。4、提供了丰富的外设驱动描述和应用实例,方便用户为特定外设开发驱动程序。5、STM32固件库的函数是开发者与硬件底层驱动之间的桥梁,方便开发者的开发。6、STM32固件库的函数形式全部都是函数调用的接口(API)形式。总之,使用固件库方便程序员进行开发...

stm32 f4 fpu与cpu可以同时工作吗
就是说如果不使用CMSIS的,就会调用keil自带的标准库函数。否则就用CMSIS的定义。这里因为是用的STM32F4,所以应该要ARM_MATH_CM4控制,即加入core_cm4.h,否则就用使用ARMCM4.h——但在编译时keil会提示找不到这文件。因此需要在工程选项之C\/C++选项卡的define中继续加入语句ARM_MATH_CM4。加入上述...

stm32固件库3.5版本中,定时器2复用的gpio为什么是gpioc 呢,我在手 ...
固件库中常有bug,手册上的更可信。不妨看下固件库的其他版本,自己作判断;或者你实际动手实验一下,TIM2和GPIOC对否对应,之后在固件库程序的基础上,保持GPIOC的配置不变,开TIM3的时钟并对其进行配置,看看是不是能得到你想要的结果

相似回答