OpenEdv-开源电子网

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

关于单片机的时钟源如何选择、

[复制链接]

55

主题

151

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
304
金钱
304
注册时间
2018-3-12
在线时间
53 小时
发表于 2018-9-15 18:09:03 | 显示全部楼层 |阅读模式
1金钱
看了一天系统的时钟树system_stm32f10x.c  还是有如下几个问题非常困惑:第一:使用3.5的标准库,会用到systemInit()进行系统时钟初始化,默认的的时钟源是HSI吗?
第二:如果我要用外部晶振作为单片机的主频(时钟最终来源,是这么说?)需要在哪里面修改参数,是的最终系统时钟是72MHZ?就是说我具体在哪里设置可以选择四个时钟源为我所用?

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

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4522
金钱
4522
注册时间
2018-5-11
在线时间
947 小时
发表于 2018-9-15 18:18:58 | 显示全部楼层
本帖最后由 warship 于 2018-9-15 18:21 编辑

你这一天的时钟树是怎么看的呀?
上面每一处都有控制标示的哟。
由寄存器,主要是RCC的CR及CFGR这两个寄存器进行控制。
参考一下我的http://www.openedv.com/forum.php?mod=viewthread&tid=275994的4楼,
就可以从0开始不依赖其它初始化实现72M
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

55

主题

151

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
304
金钱
304
注册时间
2018-3-12
在线时间
53 小时
 楼主| 发表于 2018-9-15 19:17:37 | 显示全部楼层
warship 发表于 2018-9-15 18:18
你这一天的时钟树是怎么看的呀?
上面每一处都有控制标示的哟。
由寄存器,主要是RCC的CR及CFGR这两个寄 ...

看寄存器版本的函数比较蒙蔽,目前知识有限看的不是很明白你的代码,那个时钟树的结构还是看明白了理解了,不懂的事怎么修改代码
RCC->CR |= 0x00000001;     //使能内部高速时钟HSION
RCC->CR|=0x00010000;  //外部高速时钟使能HSEON

连蒙带猜反正你最终得到了系统时钟72MHZ,
我还是没看懂就是你使用的系统时钟最终来源于内部还会外部,如果我使用库函数systemInit()



如果用的内部HSI,那我就可以PCB不外接晶振了
回复

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4522
金钱
4522
注册时间
2018-5-11
在线时间
947 小时
发表于 2018-9-15 19:36:47 | 显示全部楼层
蓝野先生 发表于 2018-9-15 19:17
看寄存器版本的函数比较蒙蔽,目前知识有限看的不是很明白你的代码,那个时钟树的结构还是看明白了理解了 ...

寄存器是最直接的,
可随心所欲变化的。
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4522
金钱
4522
注册时间
2018-5-11
在线时间
947 小时
发表于 2018-9-15 19:41:09 | 显示全部楼层
蓝野先生 发表于 2018-9-15 19:17
看寄存器版本的函数比较蒙蔽,目前知识有限看的不是很明白你的代码,那个时钟树的结构还是看明白了理解了 ...

程序分两段,
注释的很清楚,
前面使用内部时钟做一些紧要的设置,因为这时候不知道外部时钟行不行,
后面的那句就是转换成外部时钟了,最终当然是外部高速72M

如果不想接外部晶体,后面的代码不要就可以了,使用内部HSI
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

21

主题

122

帖子

0

精华

高级会员

Rank: 4

积分
545
金钱
545
注册时间
2018-6-6
在线时间
96 小时
发表于 2018-9-15 21:02:43 | 显示全部楼层
蓝野先生 发表于 2018-9-15 19:17
看寄存器版本的函数比较蒙蔽,目前知识有限看的不是很明白你的代码,那个时钟树的结构还是看明白了理解了 ...

对照着数据手册看,很清楚的
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-20 06:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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