刚刚学习STM32菜鸟问时钟初始化函数问题

[复制链接]
5015|12
 楼主| thj19900219 发表于 2013-9-27 15:48 | 显示全部楼层 |阅读模式
我最近刚刚接触STM32,用的3.5版本的固件库函数,怎么样去调用函数初始化系统的时钟?
我看过有些例程用systeminit()函数,那怎么去控制它的时钟频率呢?
而且3.5的库好像有点不一样,我看里面的例程就没有时钟的初始化,怎么回事?时钟不用初始化么?
wxweipot 发表于 2013-9-27 16:03 | 显示全部楼层
system_stm32f10x.c
 楼主| thj19900219 发表于 2013-9-27 16:05 | 显示全部楼层
wxweipot 发表于 2013-9-27 16:03
system_stm32f10x.c

为什么我看的库里面的哪些例程都不初始化时钟?
戈卫东 发表于 2013-9-27 16:06 | 显示全部楼层
如果是自己练习的话时钟不做初始化就用8M的内部RC时钟很多时候也没问题的. 不过做产品这样多半不行.
wxweipot 发表于 2013-9-27 16:11 | 显示全部楼层
thj19900219 发表于 2013-9-27 16:05
为什么我看的库里面的哪些例程都不初始化时钟?

怎么可能呢:L
 楼主| thj19900219 发表于 2013-9-27 16:20 | 显示全部楼层
wxweipot 发表于 2013-9-27 16:11
怎么可能呢

:(   MAIN函数里面确实没看到调用 systeminit() 或者对系统时钟做处理  0.0
wxweipot 发表于 2013-9-27 16:21 | 显示全部楼层
thj19900219 发表于 2013-9-27 16:20
MAIN函数里面确实没看到调用 systeminit() 或者对系统时钟做处理  0.0

再调用main()之前,执行了systeminit()
 楼主| thj19900219 发表于 2013-9-27 16:21 | 显示全部楼层
戈卫东 发表于 2013-9-27 16:06
如果是自己练习的话时钟不做初始化就用8M的内部RC时钟很多时候也没问题的. 不过做产品这样多半不行. ...

那做产品的话,这个系统的时钟是要自己去配置还是调用systeminit(),这个函数是不是默认外部8M的晶振的?
wxweipot 发表于 2013-9-27 16:22 | 显示全部楼层
wxweipot 发表于 2013-9-27 16:21
再调用main()之前,执行了systeminit()

启动文件里
                AREA    |.text|, CODE, READONLY

; Reset handler
Reset_Handler    PROC
                 EXPORT  Reset_Handler             [WEAK]
     IMPORT  __main
     IMPORT  SystemInit
                 LDR     R0, =SystemInit
                 BLX     R0
                 LDR     R0, =__main
                 BX      R0
                 ENDP
 楼主| thj19900219 发表于 2013-9-27 16:34 | 显示全部楼层
wxweipot 发表于 2013-9-27 16:22
启动文件里
                AREA    |.text|, CODE, READONLY

如果我想去设置这个系统时钟应该怎么去设置呢?  他这个是系统默认的?
wxweipot 发表于 2013-9-27 16:46 | 显示全部楼层
thj19900219 发表于 2013-9-27 16:34
如果我想去设置这个系统时钟应该怎么去设置呢?  他这个是系统默认的?
...

SystemInit()里,想要自己修改,那结合你的需求(外部晶振,各总线倍频..)
hkcj 发表于 2013-9-27 20:48 | 显示全部楼层
主要还是结合外围电路做一些调整吧
outstanding 发表于 2013-9-27 21:59 | 显示全部楼层
先看看时钟树,再看例程
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

47

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部