历史上的今天
今天是:2024年09月01日(星期日)
2018年09月01日 | stm32f105外部晶振由8MHz调整到12MHz库的修改
2018-09-01 来源:eefocus
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);
史海拾趣
|
尊敬的工程师: 感谢您对NI长期以来的支持,2009第五届NI测控前沿技术论坛即将拉开帷幕。 作为广受好评的年度盛会,您不仅可以通过资深工程师的讲解了解最新前沿技术,还可以亲自投票选择自己感兴趣的专题内容。 NI诚邀您参与第五届测控前沿技 ...… 查看全部问答> |
|
各位高手,我把我的应用程序编译进内核后,启动vxworks后,经常会打印出一些杂乱的信息,甚至丢失了命令提示符,比如下面这个(我在RAM里建立了文件系统,并建立临时文件,最后销毁): ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]] ...… 查看全部问答> |
|
Linux除作为服务器操作系统外,其最成功的便是在嵌入式领域的应用,原因当然是免费、开源、支持软件多、呼拥者众,这样嵌入式产品成本会低。很多人预测,嵌入式Linux预计将占嵌入式操作系统的50%以上份额,非常重要。目前嵌入式Linux凭借着自身 ...… 查看全部问答> |
|
matlab R2007a 的Instrument Control Toolbox 请问谁有matlab 7.1.0(R2007a) 的Instrument Control Toolbox软件啊?提供下。谢啦~… 查看全部问答> |
|
各位大虾; 有个问题请教大家, 我在ARM系统的开发板上要访问网络,网卡芯片是CS8900, 驱动也都有了, 在WINCE下我需要加哪些组件呢? 另外,如何配置呢/ 请知道的大虾指点一下, 不胜感激.… 查看全部问答> |
|
你好,我是一个初学者,由于工作的原因,我要开发一个在wince5.0下的和串口(rs-232)进行通讯的软件,想用VB.net来开发. 请问该如何和实现,我的要求很简单: 以16进制发送命令,如“3E 30 38 35 32 38 0D\" 然后返回十六 ...… 查看全部问答> |
|
IAR STM8S报价:2.3万人民币 COSMIC STM8S报价:2.3万人民币 Raisonance STM8S报价:990欧元(算成人民币大约:8600元不到) 三个用起来感觉Raisonance用起来好用些,价格也算是最便宜的!不过没有石皮 角刀牛。 比起AVR的CodeVisionAVR ...… 查看全部问答> |
|
C#上位机学习资料 https://bbs.eeworld.com.cn/viewthread.php?tid=308129&page=1#pid1198878上周逛论坛看到上面的C#串口教程,觉得挺有趣的,跟着学了一下,结合LaunchPad写了一个简单的ADC10+串口上位机。第一次用C#,线程、运行机制呀什么的 ...… 查看全部问答> |
|
从单片机初学者迈向单片机工程师(一份正真的让你成为工程师的贴子) 学习单片机也已经有几年了,藉此机会和大家聊一下我学习过程中的一些经历和想法吧。也感谢一线工人提供了这个机会。希望大家有什么好的想法和建议都直接跟帖说出来。毕竟只有交流才能够碰撞出火花来^_^。 几年前,和众多初学 ...… 查看全部问答> |
|
低功耗蓝牙为何如此省电?根据SIG官方发布会的资料,它和经典蓝牙技术相比,主要的改变集中体现在待机功耗的减少、高速连接的实现和峰值功率的降低三个方面。 待机功耗的下降 传统蓝牙设备的待机耗电量大一直是为人所 ...… 查看全部问答> |




