修改STM32库函数中的晶振值

STM32F407的库文件中默认晶振值为25MHz,若外接晶振8MHz,则需修改以下几个地方:

1)修改HSE_VALUE的值

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

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

2)修改PLL_M的值

将#define PLL_M 25修改为 #define PLL_M 8

3)修改STM32F407工程的Options设置

在Option for target"Flash"窗口中,选择Target页面,修改STMicroelectronics STM32F407VG栏中Xtal(MHz)的值为8.0

时间: 2024-10-29 16:19:44

修改STM32库函数中的晶振值的相关文章

晶振详解

转自 http://bbs.armfly.com/read.php?tid=19764&fpage=2 关于晶振的那些事-- 晶振,在板子上看上去一个不起眼的小器件,但是在数字电路里,就像是整个电路的心脏.数字电路的所有工作都离不开时钟,晶振的好坏,晶振电路设计的好坏,会影响到整个系统的稳定性.所以说晶振是智能硬件的"心脏". 每个单片机系统里都有晶振(晶体震荡器),在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建

STM32库函数实现方法及使用

一.概述 1.调用STM32库函数配置与直接配置寄存器 ① 直接配置寄存器 使用过51单片机的朋友都知道为了将IO口配置成某种特殊功能或者配置中断控制,我们先将需要如下步骤: 根据需要配置功能计算值---->直接写入寄存器 ② 调用STM32库函数配置 定义一个配置结构体变量---->根据配置功能依次给这个结构体变量的成员赋值----->将结构体变量的地址传入库函数,并调用STM32库函数实现配置 其中最后一个步骤的"调用STM32库函数",实际上就是将配置结果写入寄

晶振参数校定

在批量整机测试中,遇到部分样机不出彩或彩条等色彩问题.除了ISP自身寄存器设定与TV Decoder输出周边参数不正确:应用电路上的问题大多是晶振频偏所致.以下主要介绍晶振网络参数匹配方法与实际校定案例. 一.关注参数 (1)常温频偏   ±10PPM         (25℃) (2)温度频偏    ±30PPM          (-10~+70℃) (3)负载电容    15PF (4)谐振电阻    <40Ω 晶振最关注的参数是频偏与负载电容,通过负载电容才能确定C109,C110电容取

晶振參数校定

在批量整机測试中,遇到部分样机不出彩或彩条等色彩问题.除了ISP自身寄存器设定与TV Decoder输出周边參数不对.应用电路上的问题大多是晶振频偏所致. 下面主要介绍晶振网络參数匹配方法与实际校定案例. 一.关注參数 (1)常温频偏   ±10PPM         (25℃) (2)温度频偏    ±30PPM          (-10~+70℃) (3)负载电容    15PF (4)谐振电阻    <40Ω 晶振最关注的參数是频偏与负载电容,通过负载电容才干确定C109,C110电容取

程序运行 栈帧分析 以及 修改栈帧中数据以及函数地址

1 在栈帧中 修改函数调用地址 使得程序运行 跳转到 自己指定的函数 而原程序的作者完全不知道这段程序的执行中已经执行了别人的代码[可能是恶意的] 2 修改栈帧中的变量的值 不通过变量名 如 修改变量b的值 不通过变量b的名称 [这需要对变量在栈帧中的分布有一定的了解 ] 压栈是 a先压栈 b后压栈 压栈时 栈顶向低地址方向前进 变量a在变量b的上面 变量a的地址 0xbfa92d88 变量b的地址 0xbfa92d84

STM32的RTC晶振不起振的原因及解决方法

STM32的RTC晶振经常出现不起振的问题,这已经是"业界共识"了.很多人在各种电子论坛上求助类似于"求高手指点!RTC晶振不起振怎么办"的问题,而其答案基本可以概括为"这次高手帮不了你了" 更有阴谋论者提出让人啼笑皆非的解释--STM32的RTC晶振不起振是ST与晶振厂商串通后故意搞出来的,目的是提高某晶振厂商高端晶振的销量. 最近做的几块板子也用到了STM32的RTC,前后两版一共做了大概6片,幸运的是并未遇到晶振不起振的现象.而我采用的是3

stm32 外部8M晶振 改为12M的方法

第一步,打开stm32f10x.h,将  #define HSE_VALUE    ((uint32_t)8000000)  修改为:  #define HSE_VALUE    ((uint32_t)12000000) 第二步,打开system_stm32f10x.c,修改PLL参数,将 RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |                            

晶振在电路设计时关于负载电容CL大小取值特别需要注意什么?

在无源晶体的设计中,经常遇到负载电容CL的大小取值.晶振设计与精度的提高.KHz无源晶振的停止.音叉晶体谐振器的精度漂移以及精度和无源晶振在高温下的精度是否等于低温的精度烦忧的问题等. 无源晶体振荡器(包括KHz和MHz)是否能够直接参考规范中给出的CL值来设计?如果没有,对设计参考有什么经验价值? 答:不能直接使用,建议CL值-2PF或3PF,然后乘以2. 无源晶体振荡器(包括KHz和MHz)的负载电容CL等效于晶体的所有电容.实际测量中应注意什么? 答:注意不要用示波器探头.万用表笔等测试工

利用Entity Framework修改指定字段中的值

利用Entity Framework修改指定字段中的值一般我们编辑某些模型的时候会用到类似这样的代码: [HttpPost] public ActionResult Edit(Article model) { if (model.Id == 0) { return HttpNotFound(); } using (db) { db.Entry(model).State = EntityState.Modified; db.SaveChanges(); } return RedirectToAct