66问答网
所有问题
stm32中头文件定义了宏,在c文件中显示无定义怎么回事
如题所述
举报该问题
推荐答案 2022-10-29
stm32中
头文件
定义了宏,在c文件中显示无定义是stm32
单片机
时出现的错误。根据查询相关资料公开信息显示,定义在stm32f10xh中的如果头文件是先includecorecm3h再includestm32f10xh则会出错,corecm3h比较特别就在这个头文件里面有函数源码在包含时应该使里面的
宏定义
,源文件包含的头文件是没有规则的。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/Uix9nDxDxsDvDUD2s9x.html
相似回答
stm32的
例程
宏定义
问题?
答:
主程序编译的时候总是出现未定义或者一长串的错误,
原因在于源文件包含的头文件没有规则,导致重定义或者未定义一些宏
。main.c文件中应该包含许多移植模块的头文件,例如led.h、delay.h 等。在非主函数源文件中要只包含本源文件对应的头文件,在此头文件中要包含源文件中用到的函数或者宏所在的头文件。
STM32
提示未
定义
Error: L6218E: Undefined symbol GUI_Show16Chinese...
答:
把GUI_Show16Chinese函数
头文件
包含到main
文件中,
如果函数的H文件也
定义了
还是不对看下这个函数是不是静态的,再不行就看看这个文件的路径有没有设置
STM32
编译错误是
怎么回事
?
答:
原因:出现上述错误则是因为变量k重复定义
,把你的头文件中的变量定义前加extern(只是变量声明不用初始化),再在某一个你要调用该变量的c文件的程序之前再定义(注意第一个调用的c文件要负责附带初始化该变量,其他调用的c文件就不需要初始化过程啦)一下就可以了。
使用
STM32
F1系列开发板时,开始也包含了string.h,但是我用strlen时,提示...
答:
你可以在#include "string.h"上右键,选择打开string.h,看看能不能打开。一般来说包含这个
头文件,
就可以调用了,不能调用的话,一般就是文件路径里有中文。再或者其它地方有错误。
关于
STM32中宏定义
的问题
答:
宏是在编译时 进行原文替换的。也就是 说程序里的GPIOA就替换为 ((GPIO_TypeDef *) GPIOA_BASE)GPIOA_BASE估计是个A端口的首地址,然后强制转换为GPIO类型的指针。就可以用了。这样你GPIOA.xxx 其实就是指针偏移到特定xxx的地址。GPIO_TypeDef是一种结构体 结构体无非是规定了一些结构成员的偏移...
stm32
编写spi实验程序的时候 老是有没有
定义
的函数。例如“Tx_Buffer...
答:
STM32
有大量的库。你要看看提示的未编译的是哪个宏或函数,看看库源文件有没有
定义,
如果没有定义,那么就是你用错了宏或者函数,如果有定义就是
头文件
没处理好。
大家正在搜