OpenEdv-开源电子网

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

STM32F100C8T6B的时钟问题

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2015-9-20
在线时间
0 小时
发表于 2015-9-20 09:58:40 | 显示全部楼层 |阅读模式
5金钱
注意我用的是STM32F100,首先感谢一下原子支持,我的程序是在原来103的程序上做的更改。膜拜原子哥
问题如下:

我自己焊的两块板子一个外部晶振16MHZ,一个外部晶振24MHZ。
如果不更改时钟初始化函数,则板子不能启动,改变时钟函数后,发现貌似是用了内部额8MHZ的晶振,这个是通过我自己用SYSTICK和TIM3验证的,比如我现在的程序在我16MHZ和24MHZ板子上运行是同样的现象,所以我认为是使用了内部8MHZ晶振。
串口发送与接收数据时正确的。
我启动文件是startup_stm32f10x_md_vl.s,在Options define 里的宏为STM32F10X_MD_VL.USE_STDPERIPH_DRIVER
设置时钟函数如下(代码中注释的中文字会出现乱码,这里删掉了,同时附上图片和代码附件):
[mw_shl_code=c,true]void SystemInit (void) { RCC_DeInit(); RCC_HSEConfig(RCC_HSE_ON); if(RCC_WaitForHSEStartUp() == SUCCESS) { RCC_HCLKConfig(RCC_SYSCLK_Div1); RCC_PCLK2Config(RCC_SYSCLK_Div1); RCC_PCLK1Config(RCC_SYSCLK_Div1); FLASH_SetLatency(FLASH_Latency_2); FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); RCC_PLLConfig(RCC_PREDIV1_Div2, RCC_PLLMul_6); RCC_PLLCmd(ENABLE); while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) ; RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK ); while(RCC_GetSYSCLKSource() != 0x08); // RCC_SYSCLKConfig(RCC_SYSCLKSource_HSE); ;;;;; }[/mw_shl_code]
//                                RCC_PLLConfig(RCC_PREDIV1_Div2, RCC_PLLMul_6);
//                                RCC_PLLCmd(ENABLE);
//                while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) ;
//                RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK );
//                while(RCC_GetSYSCLKSource() != 0x08); 
                        RCC_SYSCLKConfig(RCC_SYSCLKSource_HSE);        

如果我这样注释掉这几段代码 即为不适用PLL,然后直接应用HSE为主频时钟,这个时候主频确实是24MHZ,
即为应用了外部晶振。
但是这个时候串口发送数据就不对了!! 高四位在几个固定数据上有乱码。
这个 时候如果换成16MHZ的外部晶振,则主频即为16MHZ。但是串口依然有部分乱码!!

现在通过RCC_PLLConfig(RCC_PREDIV1_Div2, RCC_PLLMul_6);这段代码,使我的主频为24MHZ,但很明显,我想用外部晶振使主频达到24MHZ...
请问各位前辈,如何能切换为外部HSE时钟呢?

24MHZ.zip

6.77 MB, 下载次数: 593

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

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2015-9-20
在线时间
0 小时
 楼主| 发表于 2015-9-20 15:58:30 | 显示全部楼层
斑竹今天休息吗?!
晚辈看寄存器,然后用JTAG仿真运行,HSE和HSI都开启了,而且HSI在倍频之前还关不掉,莫名其妙的就出现上面的现象了!
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-9-20 23:12:09 | 显示全部楼层
帮顶。。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-17 23:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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