OpenEdv-开源电子网

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

STM32F103C8T6卡死在while(0x08 != RCC_GetSYSCLKSource());

[复制链接]

4

主题

32

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2017-11-24
在线时间
10 小时
发表于 2017-11-30 14:10:49 | 显示全部楼层 |阅读模式
10金钱
各位大神请教一个问题, 我用的是STM32F103C8T6,        设置时钟源和倍频因子:  RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);程序就会卡死在while(0x08 != RCC_GetSYSCLKSource());       
我把时钟源和倍频因子修改:RCC_PLLConfig(RCC_PLLSource_HSE_Div2,RCC_PLLMul_9);就好了
想请问大神这是什么原因?       



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

使用道具 举报

4

主题

349

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1046
金钱
1046
注册时间
2017-5-19
在线时间
335 小时
发表于 2017-11-30 15:39:13 | 显示全部楼层
晶振不要大于8M
[mw_shl_code=c,true]void RCC_Configure(void)
{
        RCC_DeInit();
        RCC_HSEConfig(RCC_HSE_ON);                                          //开启外部高速时钟
        while(RCC_WaitForHSEStartUp()== ERROR);                         //等待外部高速时钟稳定
        RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);            //设置为1分频 9倍频
        RCC_PLLCmd(ENABLE);                                                    //锁相环时钟使能
        RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);                        //系统时钟设置为锁相环时钟
        RCC_HCLKConfig(RCC_SYSCLK_Div1);                                //系统时钟1分频
        RCC_PCLK1Config(RCC_HCLK_Div2);                                        //AHB时钟2分频
        RCC_PCLK2Config(RCC_HCLK_Div1);                                        //AHB时钟1分频
}[/mw_shl_code]
回复

使用道具 举报

4

主题

32

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2017-11-24
在线时间
10 小时
 楼主| 发表于 2017-11-30 17:15:10 | 显示全部楼层
我的晶振就是8M的,芯片一直是STM32F103C8T6,之前的程序用的启动文件是startup_stm32f10x_hd.s,一直能用, 最近查看了一下网上说的STM32F103C8T6是64K的,应该用startup_stm32f10x_md.s,所以我把启动文件替换了, 并把其他的相关的一些东西改了, 就发现程序在这边出错了,刚刚又调试了一下在运行完RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK)后直接跑到0xfffffffe 0000 movs r0,r0; 如果把RCC_PLLConfig(RCC_PLLSource_HSE_Div2,RCC_PLLMul_9);就没有问题了,我总感觉可能与启动文件的更换有关系;
还有一个问题,就是stm32f103c8t6应该可以设置RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);这个的吧
回复

使用道具 举报

4

主题

32

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2017-11-24
在线时间
10 小时
 楼主| 发表于 2017-11-30 17:35:21 | 显示全部楼层
刚刚又测试了一下,分别用不同设置, 设置和结果如下
RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);       出错RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_8);       出错
RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_7);       OK
RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_6);       OK
RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_5);       OK
RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_4);       OK
RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_3);       OK
RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_2);       OK

RCC_PLLConfig(RCC_PLLSource_HSE_Div2,RCC_PLLMul_9);       OK
RCC_PLLConfig(RCC_PLLSource_HSE_Div2,RCC_PLLMul_8);       OK
RCC_PLLConfig(RCC_PLLSource_HSE_Div2,RCC_PLLMul_7);       OK
RCC_PLLConfig(RCC_PLLSource_HSE_Div2,RCC_PLLMul_6);       OK
RCC_PLLConfig(RCC_PLLSource_HSE_Div2,RCC_PLLMul_5);       OK
RCC_PLLConfig(RCC_PLLSource_HSE_Div2,RCC_PLLMul_4);       OK
RCC_PLLConfig(RCC_PLLSource_HSE_Div2,RCC_PLLMul_3);       OK
RCC_PLLConfig(RCC_PLLSource_HSE_Div2,RCC_PLLMul_2);       OK

各位大神,我只能指点你们这么多了,哈哈开玩笑, 不知道大神门有没有什么头绪,我是真搞不懂
回复

使用道具 举报

4

主题

32

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2017-11-24
在线时间
10 小时
 楼主| 发表于 2017-11-30 17:45:51 | 显示全部楼层
刚才又测试了一下, 发现RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_7);       OK这个虽然是好的,但是影响程序的一些运行
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-12-1 00:21:26 | 显示全部楼层
RCC_PLLConfig(RCC_PLLSource_HSE_Div2,RCC_PLLMul_x);
x任意,应该都可以,你试试
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

4

主题

32

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2017-11-24
在线时间
10 小时
 楼主| 发表于 2017-12-1 13:29:59 | 显示全部楼层
我就想问一下为什么RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);和RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_8);不行,之前我用startup_stm32f10x_hd.s作头文件是可以的,现在换了startup_stm32f10x_md.s,就不行了, 关键我的芯片是stm32f103c8t6,64KFLASH,按道理就应该用startup_stm32f10x_md.s
回复

使用道具 举报

4

主题

349

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1046
金钱
1046
注册时间
2017-5-19
在线时间
335 小时
发表于 2017-12-1 13:52:11 | 显示全部楼层
可能你工程里有些地方没改,要么重新建工程,或者你方便的话把文件传上来呗,keil5的工程我打不开,让热心人看看
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-10 04:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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