学习stm32f103(二) 关于系统时钟

stm32中可以选择多种时钟源,可以参考stm32数据手册,这里手册中的时钟图



而在stm32f103系列的说明中,可知系统最高可以达到72M的主频,(f407等可以达到更高的主频),为了强大的性能,在不考虑功耗的前提下当然要选择72M作为我们系统的主频咯,关键是怎么来设置呢?

这里一般stm32外部有一颗8Mhz 的晶振作为芯片HSE时钟的输入,再配合PLL将HSE倍频到72M就ok了,具体怎么设置可以查看手册的相关寄存器,但这里就不劳神去看了,查看我们配置好的工程,在给的库中已经有相关的工作了。


打开starup_stm32f10x_md.s(不同芯片可能不同)文件,可以看见这是一个用来启动的汇编文件。


Reset_Handler    PROC
                 EXPORT  Reset_Handler             [WEAK]
     IMPORT  __main
     IMPORT  SystemInit
                 LDR     R0, =SystemInit
                 BLX     R0
                 LDR     R0, =__main
                 BX      R0
                 ENDP


可以看到这么一段,这应该是复位后的位置(大概,不是很懂汇编),可以看到这里import了两个函数,一个是SystemInit, 一个是__main函数,__main函数中最后会调用我们自己写好的main函数,而systeminit函数怎么看都是个初始化函数,在system_stm32f10x.c文件中可以看到这个函数的原形。

void SystemInit (void)
{
  /* Reset the RCC clock configuration to the default reset state(for debug purpose) */
  /* Set HSION bit */
  RCC->CR |= (uint32_t)0x00000001;

  /* Reset SW, HPRE, PPRE1, PPRE2, ADCPRE and MC
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值