21ic电子技术开发论坛

标题: stm32库core_cm3.c为什么没有包含core_cm3.h [打印本页]

作者: qczzyjdxx    时间: 2013-1-24 18:53
标题: stm32库core_cm3.c为什么没有包含core_cm3.h
core_cm3.c为什么没有包含core_cm3.h
[attach]141563[/attach]
对stm32库不了解,,也不敢乱改,,求前辈指点

作者: TT5656    时间: 2013-1-24 18:57
core_cm3.c文件中本来就不包含这个头文件啊,其他文件会调用的
作者: uet_cache    时间: 2013-1-24 19:07
相同的名字不一定非要加它。。。
作者: qczzyjdxx    时间: 2013-1-24 19:08
TT5656 发表于 2013-1-24 18:57
core_cm3.c文件中本来就不包含这个头文件啊,其他文件会调用的

core_cm3.c里面的函数在那个头文件里面声明的,,,怎么调用,,,
我刚接触stm32,,,请前辈指点
作者: qczzyjdxx    时间: 2013-1-24 19:16
uet_cache 发表于 2013-1-24 19:07
相同的名字不一定非要加它。。。

举个例子
我在core_cm3.h
extern uint32_t __get_PSP(void);函数的声明
函数的实现在core_cm3.c中
__ASM uint32_t __get_PSP(void)
{
  mrs r0, psp
  bx lr
}
对于没有包含这个头文件不理解,,
作者: TT5656    时间: 2013-1-24 19:20
qczzyjdxx 发表于 2013-1-24 19:16
举个例子
我在core_cm3.h
extern uint32_t __get_PSP(void);函数的声明

函数实在c文件里定义的,头文件里是声明,这样别的文件包含这个头文件后就可以用core_cm3.c里定义的函数了,不是说头文件里一定要声明对应的c文件里的函数的
作者: qczzyjdxx    时间: 2013-1-24 19:39
TT5656 发表于 2013-1-24 19:20
函数实在c文件里定义的,头文件里是声明,这样别的文件包含这个头文件后就可以用core_cm3.c里定义的函数 ...

.c文件里的函数  在 .h文件里声明 不用包含 .h 文件
你说的是不是这个意思
作者: TT5656    时间: 2013-1-24 19:45
qczzyjdxx 发表于 2013-1-24 19:39
.c文件里的函数  在 .h文件里声明 不用包含 .h 文件
你说的是不是这个意思 ...

对,头文件的那个只是声明这个函数是外部函数,别的文件包含这个头文件后就可以调用这个函数
作者: 李富贵    时间: 2013-1-24 21:27
我的问题刚好相反,我用ARM官网的CMSIS2.1覆盖了STM32固件库的CMSIS1.3,这个新版本的CMSIS里面没有core_cm3.c,只有core_cm3.h
作者: leizhanzhi    时间: 2019-12-21 10:30
李富贵 发表于 2013-1-24 21:27
我的问题刚好相反,我用ARM官网的CMSIS2.1覆盖了STM32固件库的CMSIS1.3,这个新版本的CMSIS里面没有core_cm ...

想问一下您没有.c文件要怎么办呢,我也是遇到了这个问题?要从其他系列的标准库中复制过来吗?




欢迎光临 21ic电子技术开发论坛 (https://bbs.21ic.com/) Powered by Discuz! X3.5