stm32f105外部晶振由8MHz调整到12MHz库的修改

发布者:as233632621最新更新时间:2018-09-01 来源: eefocus关键字:stm32f105  外部晶振 手机看文章 扫描二维码
随时随地手机看文章

1、首先是stm32f10x.h中的HSE_VALUE


#if !defined  HSE_VALUE

 #ifdef STM32F10X_CL

 #define HSE_VALUE    ((uint32_t)12000000)//这里修改为12MHz

//  #define HSE_VALUE    ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */注释掉

 #else 

  #define HSE_VALUE    ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */

 #endif /* STM32F10X_CL */

#endif /* HSE_VALUE */

2、修改分频/倍频系数使系统时钟变为72MHz


在system_stm32f10x.c的void SystemInit (void)函数下有一个SetSysClock()继续找static void SetSysClock(void)下的SetSysClockTo72();修改后如下一段代码:

其中被注释掉的部分为原来的代码。

 

    /* Configure PLLs ------------------------------------------------------*/

    /* PLL2 configuration: PLL2CLK = (HSE / 5) * 8 = 40 MHz */

    /* PREDIV1 configuration: PREDIV1CLK = PLL2 / 5 = 8 MHz */

       

    RCC->CFGR2 &= (uint32_t)~(RCC_CFGR2_PREDIV2 | RCC_CFGR2_PLL2MUL |

                              RCC_CFGR2_PREDIV1 | RCC_CFGR2_PREDIV1SRC);

//    RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV5 | RCC_CFGR2_PLL2MUL8 |

//                             RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV5);

  

//HSE =  12 PLL2CLK = (HSE / 3) * 10 = 40 MHz

RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV3 | RCC_CFGR2_PLL2MUL10 |

RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV5);

    /* Enable PLL2 */

    RCC->CR |= RCC_CR_PLL2ON;

    /* Wait till PLL2 is ready */

    while((RCC->CR & RCC_CR_PLL2RDY) == 0)

    {

    }

    

//   

//    /* PLL configuration: PLLCLK = PREDIV1 * 9 = 72 MHz */ 

//    RCC->CFGR &= (uint32_t)~(RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLSRC | RCC_CFGR_PLLMULL);

//    RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLSRC_PREDIV1 | 

//                            RCC_CFGR_PLLMULL9); 

 

RCC->CFGR &= (uint32_t)~(RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLSRC | RCC_CFGR_PLLMULL);

RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLSRC_PREDIV1 | 

RCC_CFGR_PLLMULL6); 

#else    

//    /*  PLL configuration: PLLCLK = HSE * 9 = 72 MHz */

//    RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |

//                                        RCC_CFGR_PLLMULL));

//    RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);

    RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |

                                        RCC_CFGR_PLLMULL));

    RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL6);


关键字:stm32f105  外部晶振 引用地址:stm32f105外部晶振由8MHz调整到12MHz库的修改

上一篇:STM32系统时钟设置,采用外部有源晶振相关配置问题
下一篇:STM32工程不同系列芯片间的移植

推荐阅读最新更新时间:2024-03-16 16:12

STM32 F1配置外部晶振
当外部晶振配置错误时,会导致串口乱码,这是描述从 默认的8M晶振改成12M 改晶振方法如下 1. 修改外部高速晶振值 stm32f10x.h 修改前 #define HSE_VALUE ((uint32_t)8000000) /*! Value of the External oscillator in Hz */ 修改后 #define HSE_VALUE ((uint32_t)12000000) /*! Value of the External oscillator in Hz */ 2.修改PLL配置 system_stm32f10x.c 修改前 RCC- CFGR |= (uint32_t)(RCC_CF
[单片机]
STM32系统时钟设置,采用外部有源晶振相关配置问题
在调试STM32系统时钟设置时遇到一个问题:TIM2定时1Ms,TIM2中断服务函数time++,time=100时LED状态改变。程序运行后发现LED不是按照0.1S的时间闪烁,闪烁的很慢。 查找程序发现在系统时钟初始化时,RCC_HSEConfig(RCC_HSE_Bypass); 语句配置不对,此语句解释为HSE晶振被外部时钟旁路。指将芯片内部的用于外部晶体起振和功率驱动等的部分电路和XTAL_OUT引脚断开,这时使用的外部时钟是有源时钟或者其他STM32提供的CCO输出等时钟信号,直接单线从XTAL_IN输入,这样即使外部有晶体也震荡不起来了。 因为之前用的是有源晶振,接法如下图1:HSE配置如下:RCC_HSEConfi
[单片机]
基于STM32F105微控制器的CAN接口电路设计
控制器局域网( ControllerA reaN etwork, CAN)是一种多主方式的串行通讯总线。CAN 总线具有较高的位速率, 很强的抗电磁干扰性, 完善的错误检测机制, 在汽车、制造业以及航空工业领域中得到广泛应用 。由于船舶机舱环境极为恶劣, 且船舶航行过程中维修条件不如陆上, 对CAN 通信的可靠性要求很高, 采取双CAN 冗余总线提高通信可靠性。 1 硬件平台组成 STM32F105是STM icroe lectron ics公司推出的一款基于ARM Cortex- M3内核的32位微控制器, 其内核是专门设计于满足高性能、低功耗、实时应用的嵌入式领域的要求。由于采用Thumb - 2指令集,与ARM7微控制器
[单片机]
基于<font color='red'>STM32F105</font>微控制器的CAN接口电路设计
STM32F105 PA9/OTG_FS_VBUS Issues
F105 DFU模式下PA9引脚用来检测USB线缆,若电平在2.7~5v则认为插入usb设备(检测到usb线缆条件满足),接下来按流程图执行。
[单片机]
<font color='red'>STM32F105</font> PA9/OTG_FS_VBUS Issues
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved