硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4218|回复: 2
收起左侧

对固件库版本例程中什么时候更新SystemCoreClock变量的疑惑

[复制链接]

1

主题

0

回帖

3

积分

新手上路

积分
3
发表于 2020-5-2 19:51:42 | 显示全部楼层 |阅读模式
例程中的初始化硬件过程中都会调用void bsp_Init(void)这个函数,其中将 “ 函数  SystemCoreClockUpdate(); ”注释掉了,按理说如果初始化后的系统时钟不等于SystemCoreClock的默认值,应该调用这个函数来更新这个全局变量来保证其他其他应用程序的正常运行(是这个意思吧?我暂时没找到哪个应用程序使用了这个全局变量?)
这个函数是用来更新SystemCoreClock全局变量的,代表着系统时钟的频率。我看system_stmf4xx.c 文件中,使用的宏定义是  #define PLL_N      336  这组,这意味着系统主频为168MHZ,和SystemCoreClock的缺省值180MHZ不一致,这时候按理说应该在初始化硬件的时候顺便把这个全局变量更新了吧?为什么没有更新呢?
而且,在ucosiii的模板例程中,我注意到这里的硬件初始化就调用了这个 SystemCoreClockUpdate()  函数,是出于什么理由呢?
麻烦硬汉哥和论坛里的各位前辈帮我看一看,刚开始购入板子学习,问题比较多。
不胜感激!
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117546
QQ
发表于 2020-5-2 20:06:23 | 显示全部楼层
务必要加上这条函数,加上才是规范做法,防止用户在程序里面用到了这个全局变量。

部分裸机基础例子被注释掉是我们早期的工作人员手抖,调试完毕后忘了重新恢复、

评分

参与人数 1金币 +20 收起 理由
Stu_kang + 20 很给力!

查看全部评分

回复

使用道具 举报

1

主题

0

回帖

3

积分

新手上路

积分
3
 楼主| 发表于 2020-5-2 19:58:21 | 显示全部楼层
下面是例程的截图
1.png
2.png
3.png
5.png
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-14 02:07 , Processed in 0.039126 second(s), 30 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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