历史上的今天

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

正在发生

2018年08月28日 | 关于STM32外接4—16MHz晶振主频处理方法

发布者:灵感驿站 来源: eefocus关键字:STM32  晶振  主频 手机看文章 扫描二维码
随时随地手机看文章

由于STM32F10x库官方采用的是默认的外接8MHz晶振,因此造成很多用户也采用了8MHz的晶振,但是,8MHz的晶振不是必须的,其他频点的晶振也是可行的,只需要在库中做相应的修改就行。
    在论坛上看到很多用户反映,使用外接12MHz的晶振,会造成很多的问题,如USART的波特率不正确,Systick走时不准等问题,在无论是在实际调试还是在软件模拟中都会发现这个情况,其实,这不能怪ST官方,我们必须肯定ST官方为方便用户开发所做的努力,下面我们就通过简单的三个步骤就可以让你随意的使用4—16MHz之内任何频点的晶振,我们以STM32F10x_StdPeriph_Lib_V3.4.0为例说明。
    第一步,打开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 */

    第二步,打开system_stm32f10x.c,修改PLL参数,将
    /*  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);
修改为:  
    /*  PLL configuration: PLLCLK = HSE * 6 = 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_PLLMULL6);
    至此,原文件已经修改完成,如果你想将主频修改至其他频率,请自行修改。但是,到现在,如果您直接编译调试的话,就会出现上文所说的USART的波特率不正确,Systick走时不准等问题,原因就是我们需要进行第三部的修改,这个修改不是在原文件中,而是在编译环境中。我们已Keil MDK为例说明。
    第三步,打开你已经建立的STM32工程,选择Projects-〉Options for target ***,找到Target标签,你会发现,外接的晶振默认还是8MHz,我们将外接的晶振参数修改为12MHz,确定保存,再编译,调试,你就会发现,所有的参数都回归的正常轨道,设置波特率为9600,它也不会跑到14400,设置Systick为1ms中断,它不会1.5ms中断。

现在,我们也得出了一个结论,在keil MDK编译环境的设置参数的优先级是高于原文件中的设置的。

关键字:STM32  晶振  主频 引用地址:关于STM32外接4—16MHz晶振主频处理方法

上一篇:STM32库文件systemInit 晶振更改默认晶振8M到12M方法
下一篇:STM32F105使用固件库的时候串口乱码解决方法

推荐阅读

   今天是Realme2发布的日子,关于它的参数规格等终于能够大白于天下了,早前关于它的参数规格表就开始在网络流传,老外们看了直抓狂,纷纷表示拒绝购买,要用脚投票,现在轮到他们采取行动了。根据官方网站公布的Realme2数据显示,它使用一块6.2英寸分辨率为1520X720的19:9比例的屏幕,屏占比高达88.8%,用的是第三代康宁大猩猩玻璃,边框为2.05毫米。...
本章以串口为例讲解,HAL 库轮询,中断,DMA 三种编程模型。1.前情回顾在串行通信中,一个字符一个字符地传输,每个字符一位一位地传输,并且传输一个字符时,总是以“起始位”开始,以“停止位”结束。在进行传输之前,双方一定要使用同一个波特率设置。波特率就是每秒钟传输的数据位数。常用的两种基本串行通信方式包括同步通信和异步通信。我们通常使...
8月28日消息(文/叶子),据91mobiles消息,一加智能手表目前已经通过了IMDA的认证,预计将于近期发布其全新的智能手表系列产品。通过认证信息显示,一加的首款智能手表型号为W301GB,该认证信息给出的标识就是该产品为智能手表。关于一加智能手表的设计,网络流传有两种不同的造型,一种是采用圆形表盘设计,表盘可以单独取下来进行操作,预计在功能上常...
导读:欧洲电池制造商InoBat公司宣布与美国电池材料供应商Group14 Technologies公司进行合作,将使用Group14的专利硅基负极材料为汽车生产高能量密度的电池。InoBat公司表示,高能量密度电池市场需求飙升,相比传统锂离子电池,硅基负极材料的单位体积能量密度更高。Group14表示,能源部已经认可其“新颖的、可投入使用的纳米材料和可靠的工业规模工艺”...

史海拾趣

问答坊 | AI 解惑

Keil C51 UV2调试命令(中文版) .pdf

传个Keil C51 UV2调试命令(中文版)资料,希望大家喜欢。…

查看全部问答∨

最小系统6

功能: 将LCD填充为黑色 ******************************************************************************/ void lcd_fill(void) { uchar i,j; uchar byte[1] = {0xFF}; for(i=0;i<=127;i++) { for(j=0;j<=7;j++) { l ...…

查看全部问答∨

调试经验之---硬件篇

调试经验之---硬件篇 好多的新手在最初的硬件调试过程中,由于出现硬件故障,导致实验失败。所以所有软件实验也将无法进行下去。本人将自己从事硬件调试的一些心得写给大家,希望大家能够缩短硬件调试时间,提高实验的成功率。 第一步:在焊接 ...…

查看全部问答∨

FPGA综合仿真错误

Error: Design requires 1087 I/O resources -- too many to fit in 314 available in the selected device or any device in the device family Error: Cannot find device that meets Compiler settings specifications…

查看全部问答∨

选型问题求助

最近正在和客户谈灌装设备,主传动和灌装都要求用伺服电机,由于设备有无杯不灌装的功能,所以每个灌装头都要配备一个伺服,这样加上主传动,一共要用到9个伺服,客户要求PLC用西门子的,请问如果选型的话用300的好还是400的好?…

查看全部问答∨

请教各位关于万利EK学习板上调试usb的虚拟串口的问题

   最近使用stmf103做一个信号采集的实验板,觉得用usb传数据比较方便(主要是笔记本上都不带串口啊)。比较后打算用usb的虚拟串口功能比较好。有主机端的驱动程序,又有设备端的例程。 但是用起来有很多问题。因为是实时 ...…

查看全部问答∨

【我给xilinx资源中心做贡献】Xilinx Spartan 3E Starter Kit平台控制1602液晶程序

Xilinx Spartan 3E Starter Kit平台控制1602液晶程序Xilinx Spartan 3E Starter Kit平台上LCD1602与板载Intel Flash Memory公用四根数据线,读写命令和数据时分别写高四位和低四位 源码: library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.S ...…

查看全部问答∨

2011年全国电子设计竞赛培训资料

本帖最后由 paulhyde 于 2014-9-15 03:35 编辑 希望可以帮助到今年参加电赛的同学们    …

查看全部问答∨

求一篇相关外文

毕业设计的需要,向大神们要一片与430 1122相关的英文论文(能带翻译的就带翻译) 最好是论文,因为够 简短,翻译起来没有那么吃力. 谢谢…

查看全部问答∨

zstack组网距离远远小于数据传输距离,如何实现远距离组网?

现在有两个思路一个是扩大组网距离但似乎实现起来比较困难另一个是去掉组网过程,使一定数量的节点启动后就连接一个网络,这样能避免组网距离太近的缺陷实际应用中各个节点都安装好,开机后组网,组网后可正常使用但现在的情况组网距离很近,加了CC ...…

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

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

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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