[STM32F1] [STM32F103VET6]系统时钟问题

[复制链接]
2508|10
 楼主| huaiqiao 发表于 2015-10-23 23:34 | 显示全部楼层 |阅读模式
如题,朋友有个STM32F103VET6的板子,时钟的问题我有点疑惑。所以来发帖请各位大哥,帮忙看下。
这个程序,系统在执行SystemInit函数的时候,执行SetSysClock,但是这个system_stm32f10x.c中,有两个SetSysClock函数,其中一个
是SetSysClock,一个是static SetSysClock。所以看着就有点迷糊了。
我的问题是:
1、这个SetSysClock 这个函数,看起来是条件编译来确定系统时钟,在这个程序中是怎么设置的?
2、如果不接外部晶振,用f103内部的8mhz的HSI,这个该怎么设置呢?
程序和用户手册如附件。
GPIO-流水灯-使用库函数.rar (2.74 MB, 下载次数: 6)
STM3210x参考手册(源享科技).pdf (3.54 MB, 下载次数: 5)

zchong 发表于 2015-10-24 07:31 来自手机 | 显示全部楼层
挂上仿真器跑一遍,看一下程序执行过程就清楚了,例程可参考st库里的程序
 楼主| huaiqiao 发表于 2015-10-24 10:00 | 显示全部楼层
zchong 发表于 2015-10-24 07:31
挂上仿真器跑一遍,看一下程序执行过程就清楚了,例程可参考st库里的程序 ...

因为这个SystemInit函数是在启动文件中,debug模式下能看到吗?
zchong 发表于 2015-10-24 12:59 | 显示全部楼层
huaiqiao 发表于 2015-10-24 10:00
因为这个SystemInit函数是在启动文件中,debug模式下能看到吗?

仿真的界面那个运行到main不要选择即可
 楼主| huaiqiao 发表于 2015-10-24 16:17 | 显示全部楼层
哦,好的呢。我明白了,我试下 。有问题再来回复您。
gmm2015 发表于 2015-10-24 17:17 | 显示全部楼层
system_stm32f10x.c中不肯存在两个SetSysClock函数的,应该是声明、定义以及调用。实际的函数肯定只有一个。
1、条件编译是通过system_stm32f10x.c文件中的宏定义实现的。如:#define SYSCLK_FREQ_HSE    HSE_VALUE则是选择外部时钟。在如#define SYSCLK_FREQ_36MHz  36000000则是选择内部时钟,并将系统时钟设置到36M
2、如1中的回答
 楼主| huaiqiao 发表于 2015-10-24 17:30 | 显示全部楼层
gmm2015 发表于 2015-10-24 17:17
system_stm32f10x.c中不肯存在两个SetSysClock函数的,应该是声明、定义以及调用。实际的函数肯定只有一个 ...

哦,我想看看这个程序到底怎样具体配置的。4楼已经给出操作了,试一下咯。
感谢回答。
gejigeji521 发表于 2015-10-24 20:30 来自手机 | 显示全部楼层
那个就是在之前用宏定义一个变量而已
冰河w 发表于 2015-10-24 21:17 | 显示全部楼层
6楼说的详细,应该是只有一个SetSysClock的
309030 发表于 2015-10-25 22:43 | 显示全部楼层
这个static SetSysClock是在哪出现的
 楼主| huaiqiao 发表于 2015-10-26 08:42 | 显示全部楼层
309030 发表于 2015-10-25 22:43
这个static SetSysClock是在哪出现的

在system_stm32f10x.c这个函数中
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

600

帖子

2

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