历史上的今天

今天是:2024年08月28日(星期三)

正在发生

2018年08月28日 | STM32库文件systemInit 晶振更改默认晶振8M到12M方法

发布者:WhisperingLight 来源: eefocus关键字:STM32  库文件  systemInit  晶振 手机看文章 扫描二维码
随时随地手机看文章

由于stm32的库默认是外部晶振8M的情况下实现的,所以配置串口波特率的时候也是按8M,包括主频。

如果采用外部晶振12M,配置时钟为72MHZ 。


1)PLL倍频这样改:

8M:

RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);//8*9=72
12M:
RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL6);//12*6=72

库函数:void RCC_PLLConfig(uint32_t RCC_PLLSource, uint32_t RCC_PLLMul)

例:RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_6);


2)stm32f10x.h中修改:

8M:

#define HSE_Value ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */ 
12M:

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



接下来说一下内部时钟,内部时钟是由RC振荡产生的,精度不高。用内部时钟产生的功耗更小,还可以节约印制板的空间,程序配置如下:

void RCC_Configuration(void)

{

        /* RCC system reset(for debug purpose) */

        RCC_DeInit();

        RCC_HSICmd(ENABLE);        //打开内部高速时钟

        //等待HSI准备好

        while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET);

        FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);        //开启FLASH预取指功能

        //FLASH时序控制

        //推荐值:SYSCLK = 0~24MHz   Latency=0

        //       SYSCLK = 24~48MHz  Latency=1

        //       SYSCLK = 48~72MHz  Latency=2

        FLASH_SetLatency(FLASH_Latency_2);

        RCC_HCLKConfig(RCC_SYSCLK_Div1);        //设置HCLK(AHB时钟)=SYSCLK

        RCC_PCLK2Config(RCC_HCLK_Div1);                //PCLK2(APB2) = HCLK

        RCC_PCLK1Config(RCC_HCLK_Div1);                //PCLK1(APB1) = HCLK

        //PLL设置 SYSCLK/2 * 12 = 4*12 = 48MHz

        RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_12);

        //启动PLL

        RCC_PLLCmd(ENABLE);//如果PLL被用于系统时钟,不能被DISABLE

        //等待PLL稳定

        while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET){;}

        //设置系统时钟SYSCLK = PLL输出

        RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);

        //等待PLL成功用作于系统时钟的时钟源,并等待稳定

        // 0x00:HSI作为系统时钟

        // 0x04:HSE作为系统时钟

        // 0x08:PLL作为系统时钟

        while(RCC_GetSYSCLKSource() != 0x08);

}

还有如果修给了HSE_Value ,但是还有问题,则库文件使用的是LIB文件,而不是C文件。现在看来是stm32f10x_rcc.c转LIB时的问题。它里面把HSE_VALUE编译成死的了,不跟头文件走。
所以,如果库文件使用的是LIB文件,那么改晶振频率后就需要把stm32f10x_rcc.c加到工程里一起编译。


关键字:STM32  库文件  systemInit  晶振 引用地址:STM32库文件systemInit 晶振更改默认晶振8M到12M方法

上一篇:STM32 USART出现乱码
下一篇:关于STM32外接4—16MHz晶振主频处理方法

推荐阅读

   拿到Sony Xperia XZ2 Premium (以下简称:XZ2P)之后的第一感觉是:Sony好淡定。 在国内「科技与美学」的大环境下,敢于推出在外观上这么有「年代感」的一款骁龙845旗舰机,也着实是一项壮举了。为此我特意做了一个小调查,当我把手机图片发给对数码圈的朋友之后,得到反馈大概相同:索半斤性能不错,外观太丑。而那些对数码不是很在行的普通...
摘要:测量对地存在共模电压的信号波形,若测量仪器或测量方法不正确,轻则影响测量结果,重则危害生命财产安全。本文通过典型的两个实例,说明不当的测量方法对结果的影响和可能引起的安全问题,并提出正确的测量方法。 一、实例1 客户的产品是一个压电陶瓷及其驱动电路,图1是产品原理和测试连接图,开关管以约100kHz的频率通断,带抽头的电感实现升压功...
8月28日,露笑科技发布半年度报告称,公司上半年实现营业收入为11.45亿元,同比下降9.10%;归属于上市公司股东的净利润为1.51亿元,同比增长3.21%。露笑科技称,营业收入下降主要系受新冠肺炎疫情影响,传统制造行业下游客户复工复产缓慢,订单量减少所致,归属于母公司股东净利润实现同比增长,主要系报告期内公司光伏发电业务受疫情影响较小,持续稳定为...
近日,韩国KNCAP公布了2021款 特斯拉Model 3 ( 参数 | 询价 ) 安全测试结果:综合分83.3分,但在自动刹车环节失利。在韩国KNCAP所设计的AEB自动紧急制动测试环节中,特斯拉Model 3分别以20km/h、25km/h和40km/h三个速度与行驶中的自行车、行人发生多次碰撞,导致该车的在行人安全与事故预防方面丢分较多,仅为三级(最高为一级)。在韩国,汽车安全测试...

史海拾趣

问答坊 | AI 解惑

关于遥控翻页笔

本人最近开发了一款无线激光翻页笔,功能简单实用,简介如下:   发射端: 1. 仅三键: 激光控制,上翻下翻                2.12V或1.5V电池          &n ...…

查看全部问答∨

几种A/D转换技术的介绍

(1)直接转换ADC     直接转换ADC也称“闪电”式(Flash),这种结构的ADC速度极快,所有位的转换同时完成, 但要求高密度集成数量巨大的比较器,如图4所示,一个N位分辨率的转换器需要2N-1个比较器。参考电压由一个电阻网络设定,彼此相 ...…

查看全部问答∨

windows mobile 6 蓝牙问题(能关闭打开 找不到其他蓝牙设备)

大家好!帮我分析下,我现在该从哪方面去看 (2450,串口蓝牙) 现在我的蓝牙,可以打开和关闭,但是就是找不到其他的蓝牙设备,而且其他设备也能找到我的蓝牙设备,当连接的时候,提示连接不上,我板上有的时候有反应,提示有连接,但是操作后 提 ...…

查看全部问答∨

如何解决wince汉字显示不圆润的问题,感觉带刺 回答正确可以提高分数,谢谢!!!!!

如题, 字体显示不美观,不知如何解决,请高手帮忙 wince .net .4.2    开发环境  evc4.2 目前用的字体文件是 微软雅黑 谢谢…

查看全部问答∨

cortex-M3不能用汇编吗?

                                  …

查看全部问答∨

紧急!哪里还有老版本an2557IAP

ST网站上,居然 EWARMv5 版本 不能用了(4.42a软件)!今天下午,能否找到 老版本an2557 IAP ? …

查看全部问答∨

显摆STM32F103+触摸屏系统

下载 (1.86 MB) 2010-10-26 10:03 下载 (1.8 MB) 2010-10-26 10:03 …

查看全部问答∨

FRAM开发板UM里提及的压缩包,一起分享

FRAM开发板的资料http://d.yun.io/8v4P7D…

查看全部问答∨

关于嵌入式开发的一些题外话

每个搞嵌入式的人都可选一条路,条条大路通罗马。要么走ARM+WinCE,要么走ARM+LINUX,要么走ARM+VXWORKS。下面由卓跃教育为大家介绍一下关于嵌入式开发的一些题外话。    至今能写驱动程序的人目前是非常紧缺的(驱动程序也可归于嵌入式范畴) ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

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

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved