STM32F4配置内部时钟(HSI)

2023-05-16

STM32F4配置内部时钟

半年多没更新了,今天配置F4的时候内部时钟问题整了2个小时,记录下这个坑。
有些板子由于没有贴外部晶振,所以代码运行起来的时候时钟就会出问题,本来配置的中断是1ms实际跑起来确只有10ms,严重出错了。这种问题解决办法就是配置使用内部时钟HSI
本例程只针对STM32F4,其他单片机并未测试过。
/**

  * @brief  Configures HSI as the System clock source

  **/  

void HSI_SetSysClock()
{
  RCC->CR |= ((uint32_t)RCC_CR_HSION);
 
  while(!(RCC->CR & RCC_CR_HSIRDY));

	RCC->APB1ENR |= RCC_APB1ENR_PWREN;
	PWR->CR |= PWR_CR_VOS;

	RCC->CFGR |= RCC_CFGR_HPRE_DIV1;
	 
	RCC->CFGR |= RCC_CFGR_PPRE2_DIV2;

	RCC->CFGR |= RCC_CFGR_PPRE1_DIV4;

	RCC->PLLCFGR = 16 | (PLL_N << 6) | (((PLL_P >> 1) -1) << 16) |
		(RCC_PLLCFGR_PLLSRC_HSI) | (PLL_Q << 24);

	RCC->CR |= RCC_CR_PLLON;

	while((RCC->CR & RCC_CR_PLLRDY) == 0)
	{
	}

	FLASH->ACR = FLASH_ACR_PRFTEN |FLASH_ACR_ICEN |FLASH_ACR_DCEN |FLASH_ACR_LATENCY_5WS;

	RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW));
	RCC->CFGR |= RCC_CFGR_SW_PLL;

	while ((RCC->CFGR & (uint32_t)RCC_CFGR_SWS ) != RCC_CFGR_SWS_PLL);
	{
	}
}

此函数在哪里调用呢
在这个函数static void SetSysClock(void)的
在这里插入图片描述
然后重新运行代码即可

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32F4配置内部时钟(HSI) 的相关文章

  • STM32F4应用DMA——串口收发不定长数据

    STM32F4应用DMA 串口收发不定长数据 使用STM32自带DMA传输数据 xff0c 可以减轻CPU负担 xff0c 只需设置一些参数即可发送想要发送的数据 xff0c 以下是STM32F407VE芯片测试过的部分代码 xff0c 可
  • 手把手入门stm32f4 (1)

    GPIO 1 一共有7组IO xff0c 每组有16个口 即一共有16 7 61 112个口 2 每个口基本上都可以触发中断 xff08 区别于51 xff0c 51只有P3 2 P3 2 xff09 3 共有8中输入输出模式 xff08
  • PX4中通过串口读取STM32F4串口发送过来消息并发布UORB主题

    PX4中通过串口读取STM32F4串口发送过来消息并发布UORB主题 本次小项目是通过PX4读取STM32F4发过来的数据 xff0c 之前博客介绍了我做的STM32端项目 xff0c 再稍微啰嗦一下 xff1a 解析AIRMAR和测深仪数
  • STM32F4无人机6轴运动处理组件MPU6050

    目的 学习MPU6050的原理 MPU6050初始化方法 原理 MPU6050是9轴运动处理传感器 它集成了3轴MEMS陀螺仪 xff0c 3轴MEMS加速度计 xff0c 以及一个可扩展的数字运动处理器DMP xff08 Digital
  • FreeRTOS在STM32F4上移植

    本文是 ALIENTEK STM32F429 FreeRTOS 开发教程 第二章学习笔记 第一章笔记 FreeRTOS简介与源码下载 一 移植 1 准备工程文件 MCU用的是STM32F429的CORE xff0c 用keli创建一个基础工
  • stm32F4 hal库之CAN通信的实现

    本文的目的是为了能够实现功能 xff0c 故写的时候比较简略 参考资料 xff1a https blog csdn net u012308586 article details 81001102 正点原子开发手册 目标 xff1a 通过ca
  • STM32F4 使用结构体配置功能

    1 IIC配置 void IIC Mode Config void I2C InitTypeDef I2C InitStructure I2C InitStructure I2C Mode 61 I2C Mode I2C IIC模式 I2C
  • STM32F4串口通信(UART)详解

    UART串口通信 我们在生活中处处都会接触到或者是用到通信 QQ 微信 电话 这些都是最常见的人与人之间远程无线通信的方式 那么也有像红外遥控 蓝牙数据传输等器件或硬件之间的通信 这些通信方式都有一些共同点 无线 易受干扰 信号变差 等 而
  • STM32F4 NANO + RT-Thread Studio 测试工程搭建流程

    STM32F4 NANO 43 RT Thread Studio 测试工程搭建流程 硬件 xff1a 正点原子 NANO开发板 MCU STM32F411RCT6 开发平台 xff1a RT Thread Studio 1 新建工程 新建R
  • STM32F4配置内部时钟(HSI)

    STM32F4配置内部时钟 半年多没更新了 xff0c 今天配置F4的时候内部时钟问题整了2个小时 xff0c 记录下这个坑 有些板子由于没有贴外部晶振 xff0c 所以代码运行起来的时候时钟就会出问题 xff0c 本来配置的中断是1ms实
  • STM32F4 SPI RX/TX DMA 读写FLASH数据

    STM32 使用DMA读写FLASH数据需要注意以下几点 xff1a 1 SPI全双工模式下 xff0c 无论读写FLASH数据均需要同时使能RX TX DMA 2 写数据时回读数据应当丢弃 xff0c 读数据时应当发送0xff来启动SPI
  • STM32F4-UartPrint

    串口的Printf打印 1 STM32CubeMx配置 xff1a 2 生成代码后 xff0c usart c里增加代码 USER CODE BEGIN 1 int fputc int ch FILE f while HAL UART GE
  • STM32F4的FSMCTFT接口配置

    利用安富莱的V5开发板 xff0c 根据原理图配置 xff1b LCD接口原理图如下 xff1a 从原理图看出LCD接的是BANK1 xff0c 片选是NE4 xff0c LCD的RS为A18 xff0c 配置如下 然后安富莱的LCD片选是
  • STM32F4 UART基础(HAL库)

    文章目录 概述 96 UART 96 初始化 96 UART 96 参数初始化 96 UART 96 句柄 96 UART 96 初始化结构体 96 UART 96 参数初始化函数 96 UART 96 时钟初始化 96 UART GPIO
  • stm32f4串口接收与发送

    之前有写一篇stm32f1串口接收与发送的文章 xff0c stm32f4与f1只有配置上的一点不同 xff0c 今天把f4的串口接收与发送代码分享一下 详细解释推荐大家看f1那篇 xff0c 都是一样的 xff0c stm32f1串口发送
  • STM32F4 使用SPI读取气压计MS5611的数据并转化为大气压强

    ms5611是同时支持I2C和SPI通信协议的气压计芯片 已经很普遍的被用在飞行器控制板上作为高度传感器 开发过stm32的朋友都知道它的硬件I2C是由bug的 xff0c 一般使用的都是自己编写的软件I2C通信协议 但是其硬件SPI通信却
  • 家庭IOT监测之摄像头OV7670测试

    本篇目标 使用STM32F407驱动摄像头OV7670 并上位机显示照片结果 材料准备 STM32F4标准工程 stm32f407自建标准工程 stm32f4标准工程 git仓库地址 STM32F4摄像头测试工程 里面包含ov7670驱动文
  • stm32f407zgt6的pdr_on引脚怎么接

    原文链接 https www amobbs com thread 5495105 1 1 html dsign c6460fe9 407的100脚封装没有这个PDR ON 就是VSS 在引脚分布图中为pdr on 但实际量pdr on对VS
  • 家庭IOT监测之摄像头数据上传ONENET

    本篇目标 将摄像头OV7670的照片数据 转换成BMP二进制 上传到ONENET平台 用于远程监测 材料准备 之前移植的温湿度及红外修改工程 温湿度及红外修改工程 继续往里面移植摄像头驱动上传代码 STM32F407最终摄像头上传ONENE
  • 当数据大小较小时,内存到内存 DMA 传输是否需要权衡?

    我正在学习 STM32 F4 微控制器 我正在尝试找出使用 DMA 的限制 根据我的理解和研究 我知道如果数据量较小 即设备使用DMA生成或消耗少量数据 则开销会增加 因为DMA传输需要DMA控制器执行操作 从而不必要地增加系统成本 我做了

随机推荐

  • Navicat相关注册码

    Navicat相关注册码 用户名和组织随便起 注册码如下 Navicat for SQL Server V10 0 10 NAVD 3CG2 6KRN IEPM NAVL NIGY 6MYY XWQE NAVI C3UU AAGI 57FW
  • 我心目中的好的技术教程

    作者 xff1a 朱金灿 来源 xff1a http blog csdn net clever101 当人类进入互联网时代 xff0c 便宣告一个新的学习模式 网上学习的诞生 现在各种网上教程之多可以用恒河沙数来形容 xff08 这里暂时除
  • TCP的建立

    大家好呀 xff0c 我是请假君 xff0c 今天又来和大家一起学习数通了 xff0c 今天要分享的知识是TCP的建立 TCP是一个面向连接的可靠的传输控制协议 xff0c 在每次数据传输之前首先需要建立连接 xff0c 连接建立成功后才开
  • Java根据数字金额生成大写金额

    要求 根据用户输入金额数字转换成相对应大写金额例如 xff1a 430 65 xff0c 转换成肆佰叁拾元陆角伍分代码如下 xff1a public class MoneyFormatUtils private static final S
  • POI 设置Excel单元格背景色(参考颜色代码)

    创建一个 workbook 对象 Workbook workbook 61 new XSSFWorkbook 创建一个 sheet Sheet sheet 61 workbook createSheet 创建一行 Row row 61 sh
  • RedisTemplate之opsForValue使用说明

    转载链接出自 xff1a https blog csdn net qq 25135655 article details 80357137 Redis中opsForValue 方法的使用介绍 xff1a 1 set K key V valu
  • Python爬虫(二)——爬取电影天堂,保存下载地址

    首先我们开始要分析一下 xff0c 下载种子我们需要哪几步 xff1a 获取所有电影页的访问地址获取电影页源码提取出下载地址将下载地址保存 首先第一步 xff0c 我们来分析一下电影天堂网站的结构 xff0c 发现他跟我们的古诗文网还是非常
  • pixhawk飞控中添加uORB主题

    本说明针对 Firmware v1 2 0 参考 xff1a https pixhawk org start id 61 zh dev shared object communication 1 添加流程说明 在Firmware msg下新
  • px4 多旋翼SITL仿真

    好久不写csdn了 xff0c 自己的笔记都记在了onenote里面了 xff0c 没有时间写东西分享 xff0c 今天找了个记得比价规整的分享一下 备注 xff1a SITL需要程序源码和QGC xff0c 以及配置环境时安装的一些东西
  • keil空间不足,.\Objects\template.axf: Error: L6406E: No space in execution regions with .ANY selector mat

    关于keil空间报错 xff0c 我总结了一下集中解决方案 xff1a 1 有可能是所选主控芯片RAM xff0c ROM真的被用完了 xff0c 这是需要更换主控芯片 2 keil里面的优化还可以继续优化省出一点空间 下面红色标的选择跟你
  • 无人机之姿态控制篇

    姿态控制篇 拿四旋翼无人机为例 xff0c 四个桨叶旋转是的无人机产生了升力 xff0c 但是这个升力要怎么匹配才能使得无人机能够平稳的飞行呢 xff0c 这个就是无人机姿态控制的关键 如图四个电机1 2 3 4 xff0c 水平位置X x
  • 无人机小四轴定高篇

    无人机定高篇 定高 xff0c 也是无人机的标配功能 xff0c 可以说必须要有的 一般来说定高怎么做 xff0c 常规的思维就是计算出无人机的高度和Z轴速度 xff0c 然后对高度和速度进行PID运算 实际上大思想就是这么的简单 xff0
  • 无人机光流定点讲解

    无人机光流定点 光流是测速算法 xff0c 并不是直接定位的 简单理解 xff0c 光流就是通过检测图像中光点和暗点的移动 xff0c 来判断图像中像素点相对于飞行器的移动速度 如果地面是静止的 xff0c 自然就可以得到飞行器相对于地面的
  • TinyXml快速入门(一)

    作者 xff1a 朱金灿 来源 xff1a http blog csdn net clever101 对于xml文件 xff0c 目前我的工作只是集中在配置文件和作为简单的信息文件来用 xff0c 因此我不太喜欢使用msxml这种重量级的x
  • 华大单片机HC32L130/HC32L136从机IIC通信

    从机IIC理论知识 主机IIC的做法比较多 xff0c 从机IIC的就相对比较难一点 先补充一下从机IIC的思路 xff1a 先看IIC时序图 xff0c 然后根据时序图理清IIC从机需要做哪些判断 xff1a 从机发送 xff1a 判断I
  • cannot access memory

    cannot access memory 先说一个经历 xff1a 在一次我测试单片机FLASH时候 xff0c 程序就是一直运行的擦除FALSH xff0c 写入FLASH 然后再想通过SWD重新烧录程序就无法烧录进去了 具体现象如下 x
  • 无刷电机反方向高速旋转

    无刷电机反方向高速旋转 最近遇到一个问题 xff0c 就是无刷电机在给正转的力的时候如果用手往反方向快速的掰 xff0c 突然的电机会往反方向高速运动 xff0c 除非电机有阻力让转速慢下来 xff0c 要不就会一直反方向运动 经过一个晚上
  • 串口仿真数据正常,不接仿真数据异常

    今天遇到一个奇怪的问题 xff0c 折腾了大半天 具体问题如下 xff1a 串口我用的DMA空闲中断接收 xff0c 接仿真器仿真时接收数据完全正确 xff0c 没有异常 但是仿真器不接的时候 xff0c 正常外部供电串口接收数据就异常了
  • 普通定时器输出互补PWM带死区

    普通定时器输出互补PWM带死区 一般来说三相半桥电路需要互补PWM驱动 xff0c 而且互补PWM需要带死区 xff0c 死区的大小跟管子的性能参数有关 公司为了省成本 xff0c 在云台上把电机驱动芯片替换成三相半桥 用6个MOS驱动无刷
  • STM32F4配置内部时钟(HSI)

    STM32F4配置内部时钟 半年多没更新了 xff0c 今天配置F4的时候内部时钟问题整了2个小时 xff0c 记录下这个坑 有些板子由于没有贴外部晶振 xff0c 所以代码运行起来的时候时钟就会出问题 xff0c 本来配置的中断是1ms实