OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 13864|回复: 8

systick 库函数是不是不能用啊?

[复制链接]

15

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2012-3-3
在线时间
0 小时
发表于 2012-3-10 15:39:44 | 显示全部楼层 |阅读模式
我准备用 systick 实现精确延时,用库函数实现,但是,编译时,发生编译错误,说一些systick的库函数定义含蓄。英文如下“function "SysTick_SetReload" declared implicitly”。后来,我猜测是此函数没有定义,发现少了两个文件 “stm32f10x_systick.c” 和 “ stm32f10x_systick.h”。于是,把这两个文件加到我的工程中,这时,刚才的错误消失了,但是,更多的错误出现了。
就是加这两个文件和以前的库文件产生了冲突,要么说,什么头文件没包含,要么说,什么标识符没有定义,要么,说,重定义,要么说,重定义冲突:编译器报错举例如下:
FWlib\src\stm32f10x_systick.c(100): error:  #20: identifier "SysTick" is undefined
FWlib\src\stm32f10x_systick.c:       SysTick->VAL = SysTick_Counter_Clear;
FWlib\src\stm32f10x_systick.c(115): warning:  #223-D: function "assert_param" declared implicitly
FWlib\src\stm32f10x_systick.c:     assert_param(IS_FUNCTIONAL_STATE(NewState));
FWlib\src\stm32f10x_systick.c:     ^
FWlib\src\stm32f10x_systick.c(115): warning:  #223-D: function "IS_FUNCTIONAL_STATE" declared implicitly
FWlib\src\stm32f10x_systick.c:     assert_param(IS_FUNCTIONAL_STATE(NewState));
FWlib\src\stm32f10x_systick.c:                  ^
FWlib\src\stm32f10x_systick.c(117): error:  #20: identifier "DISABLE" is undefined
FWlib\src\stm32f10x_systick.c:     if (NewState != DISABLE)
我试着修改了,一些错误,比如,把有的重定义的一些定义注释掉,包含一些编译器说没有包含的头文件,或者,干脆,把包含该头文件的语句注释掉。但是,又不断有新的错误出现。改一个地方,又因为这个地方冒出更多类似上面的错误。这个库函数的文件系统怎么搞的啊。
到底,彻底,根本,正确的解决办法是什么,怎么样才能用systick的库函数。
求各位高手解答啊。我的全部工程文件在附件里面。
急呀。小弟跪求了。!!!!!!!!!!!!!!!

64脚实验.rar

3.88 MB, 下载次数: 1354

Good?good?study,day?day?up.?立志成为牛人。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

15

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2012-3-3
在线时间
0 小时
 楼主| 发表于 2012-3-10 19:16:34 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
谢谢 原子老师。我也找到原因了,原来是 固件库 把以前的 老版本的固件库的 systick 的几个驱动函数整合成一个了。放在 CMSIS 目录里面,把它作为 Cortex 内核的驱动程序来用了。

不过,我还有一个问题请教一下。如果,我的所有程序都是直接操作寄存器,一个固件库的函数都不用,是不是,我只需要包含 stm32f10x.h 这个头文件就可以了。因为,我发现,所有的寄存器声明,定义,好像都在这个文件里面。

请 正点原子 老师解答,谢谢了。
Good?good?study,day?day?up.?立志成为牛人。
回复 支持 0 反对 1

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2012-3-10 18:47:41 | 显示全部楼层
用寄存器的吧.呵呵.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

36

主题

1105

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2201
金钱
2201
注册时间
2012-2-8
在线时间
35 小时
发表于 2012-3-10 19:22:20 | 显示全部楼层
回复【3楼】fanyi:
---------------------------------
是,
你对着寄存器的名字,
右键,go to definition ...
https://github.com/roxma
回复 支持 反对

使用道具 举报

15

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2012-3-3
在线时间
0 小时
 楼主| 发表于 2012-3-10 20:03:04 | 显示全部楼层
回复【4楼】:
---------------------------------
谢谢了。Pony279。这个名字很有个性啊。
Good?good?study,day?day?up.?立志成为牛人。
回复 支持 反对

使用道具 举报

15

主题

58

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2012-3-3
在线时间
0 小时
 楼主| 发表于 2012-3-10 20:04:35 | 显示全部楼层
谢谢楼上的各位解答了。每次在这个论坛发帖,都能得到满意的回答。非常感谢各位 坛主,版主,牛人。力顶这个论坛。
Good?good?study,day?day?up.?立志成为牛人。
回复 支持 反对

使用道具 举报

10

主题

66

帖子

0

精华

初级会员

Rank: 2

积分
156
金钱
156
注册时间
2011-1-15
在线时间
5 小时
发表于 2012-10-11 15:34:44 | 显示全部楼层
mark
回复 支持 反对

使用道具 举报

10

主题

65

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
204
金钱
204
注册时间
2012-8-16
在线时间
13 小时
发表于 2012-11-12 19:11:37 | 显示全部楼层
请问楼主,systick在V3.5的固件库里是怎么合成一个放在CSIS里面了?我也遇到同样的问题。谢谢!!!
暂不做硬件,投身机器学习和数据挖掘。欢迎交流!
回复 支持 反对

使用道具 举报

6

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
151
金钱
151
注册时间
2016-7-31
在线时间
32 小时
发表于 2016-8-28 14:50:28 | 显示全部楼层
我现在也遇到同样的问题,请问楼主是怎么解决的呢?谢谢了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-30 14:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表