基于STM32C8T6的智能小车项目时钟配置

一、时钟树简介


  • HSE 是高速的外部时钟信号,可以由有源晶振或者无源晶振提供,频率从 3-25MHZ 不等。当使用有源晶振时,时钟从 OSC_IN 引脚进入,OSC_OUT 引脚悬空,当选用无源 晶振时,时钟从 OSC_IN OSC_OUT 进入,并且要配谐振电容。
  • HSE 最常使用的就是 8M 的无源晶振。当确定 PLL 时钟来源的时候,HSE 可以不分频 或者 2 分频,这个由时钟配置寄存器 CFGR 的位 17PLLXTPRE 设置,HSE 一般设置为不分频
  • PLL时钟源:内部高速时钟【HSI】二分频 得到PLL时钟源(HSI 是内部高速的时钟信号,频率为 8M,根据 温度和环境的情况频率会有漂移,一般不作为 PLL 的时钟来源)。HSE不分频得到PLL时钟源
  • PLL的时钟PLLCLK:可通过设置倍频因子[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],对PLL时钟来源进行倍频得到PLLCLK。由于HSE(由外接晶振决定,如果外接晶振为16M则需HSE二分频)为一般为8M,官方库文件系统时钟配置72M,所以配置为9倍频。则有我们熟知的PLLCLK=SYSCLK。
  •  系统时钟SYSCLK:由图可知系统时钟的来源可以是,HSIPLLCLK、HSE。ST 官方推荐的稳定运行时钟为72M,因此使用PLLCLK作为系统时钟的时钟来源。
  • AHB 总线时钟 HCLK:系统时钟经过AHB分频器(可[1,2,4,8,16,64,128,256,512]分频)得到HCLK至AHB总线,核心存储器、DMA。
  • APB1总线时钟HCLK1(AHB1的时钟HCLK1),HCLK 经过低速 APB 预分频器(APB1预分频器)得到,分频因子可以是:[1,2,4, 8,16],即最大为36M HCLK1=PCLK1= HCLK/2=36M
  • APB2 总线时钟 PCLK2 HCLK 经过高速 APB2 预分频器得到,分频因子可以是:[1,2,4,8,16],HCLK2 属 于高速的总线时钟,片上高速的外设就挂载到这条总线上 PCLK2 = HCLK = 72M。
  • AHB,是Advanced High performance Bus的缩写, 高级高性能总线;APB,是Advanced Peripheral Bus的缩写, 高级外设总线

二、工程配置

  • 小容量产品是指闪存存储器容量在16K至32K字节之间的STM32F101xxSTM32F102xx STM32F103xx微控制器。
  •  中容量产品是指闪存存储器容量在64K至128K字节之间的STM32F101xxSTM32F102xx STM32F103xx微控制器。
  • 大容量产品 是指闪存存储器容量在 256K 至 512K 字节之间的 STM32F101xx STM32F103xx微控制器。

这里的容量是指FLASH的大小,判断方法如下:

  • 16KB≤FLASH≤32KB 选择:STM32F10X_LD
  • 64KB≤FLASH≤128KB 选择:STM32F10X_MD
  • 256KB≤FLASH≤512KB 选择:STM32F10X_HD

STM32F10X_MD, USE_STDPERIPH_DRIVER

三、RCC 配置

//  将HSE配置项目的时钟源  一般使用HSE配置为项目的时钟的来源
//  RCC :reset clock control 复位和时钟控制器
void Project_RCCConfig_HSE(void)
{
    // 作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值
	  
	  volatile uint32_t HSEStartUpStatus=0;
	  
	  RCC_DeInit();               //  RCC时钟复位
	  RCC_HSEConfig(RCC_HSE_ON);  //  配置外部高速时钟(HSE)  外部晶振作为时钟源 硬件使用的是8M的外部晶振
	
	  HSEStartUpStatus = RCC_WaitForHSEStartUp();  //  等待HSE稳定  SUCCESS 稳定   ERROR 错误
	  if(HSEStartUpStatus==SUCCESS)
		{
		   FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);   // 使能FLASH 预存取缓冲区
       FLASH_SetLatency(FLASH_Latency_2);                      // 设置延迟周期
		
       RCC_HCLKConfig(RCC_SYSCLK_Div1);  // HCLK 72M
		   RCC_PCLK1Config(RCC_HCLK_Div2);   // HCLK1=PCLK1=36M=HCLK/2   低速总线时钟
       RCC_PCLK2Config(RCC_HCLK_Div1);   // HCLK2=PCLK2=72M=HCLK     高速总线时钟
			 RCC_PLLConfig(RCC_PLLSource_HSE_Div1, 9);  // 配置锁相环时钟源和倍增因子。
       RCC_PLLCmd(ENABLE); // 开启PLL 
		
      while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);// 检查是否设置了指定的RCC标志
      RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);          // 当PLL稳定之后,把PLL时钟切换为系统时钟SYSCLK
      while (RCC_GetSYSCLKSource() != 0x08);              // 读取时钟切换状态位,确保PLLCLK被选为系统时钟
		}
	  
}

四、定时配置  使用定时器三统领整个项目

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/29365.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【工作中遇到的性能优化问题】

项目场景: 页面左侧有一列表数据,点击列表项会查对应的表格数据和表单信息(表单是根据数据配置生成的),并在右侧展示。如果数据量大,则非常卡。 需要对此页面进行优化。 问题描述 问题一、加载左侧数据时…

spring boot+easyui粮油质量管控防伪溯源系统源码

基于物联网技术、RFID技术和RSA、PGP加密算法开发的粮油质量追溯系统 粮油安全关系千千万万消费者的健康问题。近年来,许多食品行业安全事故频频涌现,成为社会关注焦点。粮油生产加工质量管控防伪溯源系统为粮油提供从种植、生产、加工、销售等各环节的…

L9110S电机驱动模块demo

0.资料 项目工程文件夹 分文件原理 1.认识L9110S 1、概述: 一个L9110S驱动可以控制一个电机,图中左右两个黑色芯片就是L9110S驱动。当然如果会硬件也可以直接把它们设计到单片机开发板上。 一个电机由两个针脚控制,我们用杜邦线让L9110S…

Modbus通信介绍 网络高级工具使用

目录 Modbus简介 ModbusTCP协议格式 》1.报文头(共7字节) 》2.功能码 》3.数据 练习:读传感器数据,读1个寄存器数据,写出主从数据收发协议。 练习:写出控制IO设备开关的协议数据,操作1个…

【2】Midjourney注册

随着AI技术的问世,2023年可以说是AI爆炸性成长的一年,近期最广为人知的AI服务除了chatgpt外,就是从去年五月就已经问世的AI绘画工具mid journey了。 ▲几个AI工具也代表了人工智能的热门阶段 只要输入一段文字,AI就会根据语意计算…

JAVA如何学习爬虫呢?

学习Java爬虫需要掌握以下几个方面: Java基础知识:包括Java语法、面向对象编程、集合框架等。 网络编程:了解HTTP协议、Socket编程等。 HTML、CSS、JavaScript基础:了解网页的基本结构和样式,以及JavaScript的基本语…

Web网页制作期末复习(1)——HTML5介绍、HTML5的DOCTYPE声明、HTML基本骨架、标题标签、段落 换行、水平线图片图片路径、超链接

目录 HTML5介绍 HTML5的DOCTYPE声明 HTML基本骨架 标题标签 段落、换行、水平线 图片 图片路径* 超链接 HTML5介绍 HTML5是用来描述网页的一种语言,被称为超文本标记语言。用HTML5编写的文件,后缀以.html结尾 HTML是一种标记语言,标…

基于机器学习算法:朴素贝叶斯和SVM 分类-垃圾邮件识别分类系统(含Python工程全源码)

目录 前言总体设计系统整体结构图系统流程图 运行环境Python 环境安装pytesseract注册百度云账号 模块实现1. 数据模块2. 模型构建3. 附加功能 系统测试1. 文字邮件测试准确率2. 网页测试结果 工程源代码下载其它资料下载 前言 本项目采用朴素贝叶斯和支持向量机(S…

MySQL-SQL视图详细

♥️作者:小刘在C站 ♥️个人主页: 小刘主页 ♥️努力不一定有回报,但一定会有收获加油!一起努力,共赴美好人生! ♥️学习两年总结出的运维经验,以及思科模拟器全套网络实验教程。专栏&#xf…

原型模式(七)

不管怎么样,都要继续充满着希望 上一章简单介绍了抽象工厂模式(六), 如果没有看过,请观看上一章 一. 原型模式 引用 菜鸟教程里面的原型模式介绍: https://www.runoob.com/design-pattern/prototype-pattern.html 原型模式(Prototype Pattern&#xf…

Camera | 11.瑞芯微摄像头采集图像颜色偏绿解决笔记

前言 在实际调试基于瑞芯微平台的camera过程中,发现显示的图片发绿, 现在把调试步骤分享给大家: 1、修改iq文件 sdk中位置: external/camera_engine_rkaiq/iqfiles/isp21/ov13850_ZC-OV13850R2A-V1_Largan-50064B31.xml【现在…

QT基础教程之一创建Qt项目

QT基础教程1创建Qt项目 根据模板创建 打开Qt Creator 界面选择 New Project或者选择菜单栏 【文件】-【新建文件或项目】菜单项 弹出New Project对话框,选择Qt Widgets Application 选择【Choose】按钮,弹出如下对话框 设置项目名称和路径,…

javaScript蓝桥杯---用什么来做计算

目录 一、介绍二、准备三、目标四、代码五、完成 一、介绍 古以算盘作为计算工具。算盘常为木制矩框,内嵌珠子数串,定位拨珠,可做加减乘除等运算。站在前人的肩膀上,后人研究出计算器,便利了大家的生活,我…

element-plus布局排版问题总结(更新ing)

文章目录 el-container空隙修改app组件 el-header容器空隙检查前端修改el-headerel-container el-container空隙 源码-更改了容器的显示&#xff0c;占满屏幕 <template><div class"common-layout"><el-container><el-header><el-row cl…

SpeechGen:用提示解锁语音语言模型(Speech LM)的生成能力

论文链接&#xff1a; https://arxiv.org/pdf/2306.02207.pdf Demo: https://ga642381.github.io/SpeechPrompt/speechgen.html Code: https://github.com/ga642381/SpeechGen 引言与动机 大型语言模型 &#xff08;LLMs&#xff09;在人工智能生成内容&#xff08;AIGC…

微服务技术简介

微服务技术简介 服务架构的演变微服务架构的常见概念微服务常见的解决方案Spring CloudSpring Cloud Alibaba微服务技术对比常用的微服务组件 微服务架构图 服务架构的演变 单体架构&#xff1a;当一个系统业务量很小的时候&#xff0c;将业务的所有功能集中在一个项目中开发&…

STM32速成笔记—串口通信

文章目录 一、什么是串口通讯二、串口通讯有什么用三、STM32的串口通信四、串口通信相关概念4.1 波特率4.2 全双工和半双工4.3 同步通信和异步通信 五、硬件连接六、串口通讯程序配置6.1 使能串口时钟和GPIO时钟6.2 初始化GPIO6.3 初始化串口参数6.4 使能串口6.5 串口接收中断6…

用python写网络爬虫

第二章 数据抓取 首先 &#xff0c; 我们会介绍一个叫 做Firebug Lite 的浏览器扩展&#xff0c; 用 于检查网页 内容 &#xff0c; 如 果你有一些网络开发背景的话&#xff0c; 可能 己经对该扩展十分熟悉 了 。 然后 &#xff0c;我们会介绍三 种抽取网 页数据的 方法 &…

java【抽象类与接口】

抽象类与接口 1 抽象类1.1 定义与使用1.2 抽象类和抽象方法使用原则 2 接口2.1 定义2.2 使用规则 3. JDK中内置接口3.1 Comparable接口3.2 Cloneable接口 抽象类与接口的对比 前言&#xff1a;如果强制要求子类必须覆写一些方法&#xff0c;则就会用到抽象类和抽象方法 1 抽象类…

使用 MATLAB 进行气象激光雷达图像分析(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…
最新文章