OpenEdv-开源电子网

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

求助:关于HAL库配置systick

[复制链接]

2

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2018-3-12
在线时间
19 小时
发表于 2018-4-20 11:40:54 | 显示全部楼层 |阅读模式
6金钱
本帖最后由 Timo队长 于 2018-4-20 13:34 编辑

在main()函数之前SystemInit (void)已经默认把内部8M RC作为时钟源,然后紧接着在 HAL_Init() 里的 HAL_InitTick(TICK_INT_PRIORITY) 调用 HAL_SYSTICK_Config(SystemCoreClock / (1000U / uwTickFreq)) 把systick周期配置成1ms,时钟源配置为HCLK,此时是8M,但是 SystemCoreClock 是默认的 72M,还没被更新过,这样systick周期不是不准吗?求解!

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2018-3-12
在线时间
19 小时
 楼主| 发表于 2018-4-20 14:41:45 | 显示全部楼层
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2018-4-21 02:24:52 | 显示全部楼层
SystemInit 是配置成72M的,不是8M。
回复

使用道具 举报

2

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2018-3-12
在线时间
19 小时
 楼主| 发表于 2018-4-21 11:20:29 | 显示全部楼层
本帖最后由 Timo队长 于 2018-4-21 11:27 编辑
正点原子 发表于 2018-4-21 02:24
SystemInit 是配置成72M的,不是8M。

hal库的SystemInit 和 标准库的好像不一样,标准库里SystemInit 有SetSysClock() 把时钟源设置为HSE且系统时钟为72M,但是hal库的SystemInit并没有这个函数,所以时钟源是HSI的8M。。求解! 原子哥?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2018-4-22 01:57:13 | 显示全部楼层
Timo队长 发表于 2018-4-21 11:20
hal库的SystemInit 和 标准库的好像不一样,标准库里SystemInit 有SetSysClock() 把时钟源设置为HSE且系 ...

HAL不熟,看我们教程吧。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

2

主题

4

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2018-7-20
在线时间
5 小时
发表于 2018-12-13 13:20:54 | 显示全部楼层
正点原子有没有F103系列的HAL库源码程序?
以前一直用的是标准库的!
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2018-12-14 02:28:52 | 显示全部楼层
无人像你wgz 发表于 2018-12-13 13:20
正点原子有没有F103系列的HAL库源码程序?
以前一直用的是标准库的!

论坛搜索
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

20

主题

200

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
462
金钱
462
注册时间
2015-11-28
在线时间
89 小时
发表于 2022-4-2 17:16:45 | 显示全部楼层
本帖最后由 森海有眼泉 于 2022-4-2 17:20 编辑

四年过去了。。无意中看到这个帖子。 可能你已经解决了,但是留给其他小白看吧。
HAL_Init() 里面会有一个对systick的配置,可能让人看不明白,是不是配置错了。对!就是错了。这里不去管他。
main里面 还有调用 SystemClock_Config()来对时钟进行一次配置。在这里吗更新了SystemCoreClock。并再次对systick进行了一次配置。这里就是对的了。1MS

现在cubemx可以自动生成hal库了, 越来越简单了。代码也越来越难看,为了方便软件思维。各种莫名其妙和重复定义。

这里就有俩很蛋疼的收获了,值得思考。
1:要相信自己,有些软件库(hal)一旦复杂起来,难免有奇奇怪怪的错误。
2:要相信大厂,相信官方。运行起来延迟就是1ms!


回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-27 17:11

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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