STM32入门笔记(03):系统时钟控制 RCC (STM32CubeMx 初始化配置)
目的/起源: B站@立邦大侠 的在视频里面提到,他用STM32CubeMx 更清晰地进行STM32系统时钟配置以及时钟架构。
STM32 开发流程 : 芯片选型 - 原理图设计 - PCBlayout - 编写程序
芯片选型
什么是附带DSP和FPU?
DSP:数字信号处理。注意:STM32单片机对数字信号处理,是通过内核的DSP指令集来提供支持的。
FPU: 浮点运算单元。
HAL库 新建工程模板方式:
1、手动移植,参考SPL标准库的新建工程模板template
2、STM32CubeMx工具 ,图形化配置GPIO/系统时钟等
【野火】CubeMX下载安装及新建工程配置
STM32CubeMX配置与代码生成大致步骤为:
1.Java Runtime Environment 环境安装,STM32CubeMx下载安装。 注意:STM32CubeMX v6.5.0 版本无需安装JAVA环境,软件自动帮你安装固件库包。
2.配置GPIO等外设
Pinout & Configuration
3.配置时钟
Clock Configuration
4.配置项目文件管理方式
Project Manager
生成项目代码
GENERATE CODE
,软件自动使用你设置的开发环境(例如:MDK keil5)打开项目 open project 。
以下几张粗略的图片记录STM32CubeMX配置初始化C代码生成,具体过程可以参考:
【ST官方】 中文用户手册:UM1718_STM32CubeMX用于STM32配置和初始化C代码生成
【CSDN】STM32CubeIDE使用笔记(02):STM32CubeMX配置与代码生成
注意:【SYS】 【Debug】 选择 Serial Wire ,否则程序只能下载1次 (STlink烧录m吗?)。
选开发环境 MDK-ARM v5
第一次生成代码的时候,如果你没手动下载安装固件包,软件会自动帮你下载固件包。
用MDK Keil5 打开项目,写个点灯实验,编译成.HEX文件后,FlyMCU烧录到开发板上。
配置系统时钟
这部分详细记录下。
1.HSE:高速外部时钟 high system extern
2.HSI :高速内部时钟
3.LSE:低速外部时钟
4.LSI:低速内部时钟
5.PLL (倍频): 锁相环时钟输出。 36MHz *2(2倍频) = 72MHz ;168MHz
例如:【HSE 外部时钟】-【Crystal/Ceramic Resonator 晶振】
SYSTEMCLK :系统时钟
时钟树如下
STM32F4xx、 STM32F1xx 参考手册:
总结:
系统时钟频率越高,功耗越高,抗干扰越弱。
配置FreeRTOS
配置任务
Priority 任务优先级
参考资料:
[1]【野火】STM32 HAL库开发实战指南 教学视频 第2讲.KEIL的安装和使用 第9讲.STM32CubeMx新建工程 第12讲.时钟控制
[2] STM32F103x参考手册和STM32F4xx中文参考手册
【CSDN】STM32CubeMX简介和安装环境
【B站】超简单freertos+stm32cube从零开始做一个多路呼吸灯
DMA,全称为: Direct Memory Access,即直接存储器访问。
DMA 传输方式无需 CPU 直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为 RAM 与 I/O 设备开辟一条直接传送数据的通路, 能使 CPU 的效率大为提高。
作用:为CPU减负。DMA 它不但能减轻 CPU 负担,还能提高数据传输速度。
STM32F4 最多有 2 个 DMA 控制器(DMA1 和 DMA2), 共 16 个数据流( 16 个数据流), 每
一个 DMA 控制器都用于管理一个或多个外设的存储器访问请求。每个数据流总共可以有多达 8
个通道(或称请求)。每个数据流通道都有一个仲裁器,用于处理 DMA 请求间的优先级。
- 2 个 DMA 控制器
- 16 个数据流
- DMA1 8个数据流
- DMA2 8个数据流 - 128 数据流 - 每个数据流总共可以有多达 8个通道(或称请求)
DAC :数字/模拟转换模块。它是 12 位数字输入,电压输出型的 DAC。
STM32入门笔记(03):系统时钟控制 RCC (STM32CubeMx 初始化配置)相关推荐
- STM32学习笔记1----STM32F429系统时钟
FreeRTOS任务基本知识 1.系统时钟 在 STM32F429 中,有 5 个最重要的时钟源,为 HSI.HSE.LSI.LSE.PLL.其中 PLL实际是分为三个时钟源,分别为主 PLL ...
- STM32入门笔记(02):定时器之定时器中断、输入捕获和PWM输出(SPL库函数版)
目录 定时器 8个定时器 定时器功能 定时器中断 常用通用定时器的寄存器 定时器中断实验目的: 定时器库函数及步骤 实验程序讲解 PWM 简介 STM32 PWM工作过程 PWM模式1 与 PWM模式 ...
- DSP学习笔记之系统时钟、定时器、GPIO篇
\qquad写在前面,不管是C51.MSP430.32也好,DSP也好,总要有一个掌握的比较熟练,不能每次都复制粘贴别人的代码然后修修补补吧.不要再做Ctrl +C.Ctrl+V工程师.主要参考来自于 ...
- Zabbix监控系统系列之二 : 初始化配置
======= 系列目录 ======= Zabbix监控系统系列之一 : Server部署 Zabbix监控系统系列之二 : 初始化配置 Zabbix监控系统系列之三 :版本升级 Zabbix监控系 ...
- STM32入门笔记04_TIM定时器+案例:TIM定时器定时中断、定时器外部时钟
TIM定时器 TIM简介 TIM(Timer) 定时器 定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断 16位计数器.预分频器.自动重装寄存器的时基单元,在72MHz(系统主频)计数时 ...
- STM32入门笔记(02):F103C8T6 舵机PWM控制实验(SPL库函数版)
舵机的结构 舵机简单的说就是集成了直流电机. 电机控制器和减速器等, 并封装在一个便于安装的外壳里的伺服单元. 能够利用简单的输入信号比较精确的转动给定角度的电机系统. 舵机安装了一个电位器(或其它角 ...
- 【小梅哥SOPC学习笔记】系统时钟的使用
给NIOS II CPU添加一颗澎湃的心--系统时钟的使用 本实验介绍如何在Qsys中添加一个定时器作为NIOS II的心跳定时器,并在NIOS II中软件编程使用该定时器. 将上一个实验watchd ...
- 【STM32F10系列实操笔记】系统时钟的配置
STM32F10系列的相关手册 链接:https://pan.baidu.com/s/1_EchQZ6y0CanRQTACDe67Q 提取码:sdsd 下图应该是配置系统时钟必不可少的一张图吧 搭配 ...
- ESP32 入门笔记03:PWM (ESP32 for Arduino IDE)
先导知识 ESP32 入门笔记01:开发板信息.开发环境搭建以及学资料准备 ESP32 入门笔记02: GPIO参考指南 ESP32 有一个 LED PWM 控制器,具有 16 个独立通道,可配置为生 ...
最新文章
- JavaScript引擎V8 5.1遵循了更多的ECMAScript规范并支持WASM
- Groovy中的闭包
- matlab变量区表示函数,MATLAB中的工作区,变量和函数
- mapbox 修改初始位置_3dmax样条线的创建和修改
- ps制作html图标素材,如何用PS制作一个简单的扁平化图标?
- 【干货】容器适配器实现两个栈模拟队列
- 拒绝枯燥,有意思的 Loading 页面动效设计
- dell r230u盘启动安装2008_dell r230服务器 怎么u盘开启
- 层次分析法模型及代码
- winfroms更换皮肤
- 从join on和where执行顺序认识T-SQL查询处理执行顺序
- Ogre 3d 工具集
- mysql如何创建视图语句_创建视图的语句
- 什么是网站的统计代码
- 计算机指令与运算基础原理笔记
- DW制作小三角型教程
- 二、爬虫 - 新浪爱问共享资源全下载之功能实现
- 固态U盘能装linux么,用u盘在固态硬盘上安装linux 多重开启系统
- 如何在PDF上添加电子签名?签名技巧分享
- Django——09.spaceless, autescape, verbatim标签
热门文章
- 聚焦无障碍阅读,福昕捐出2000套福昕高级PDF编辑器
- 【AI】简单的方法教你做一组字体设计
- noip模拟【noname】
- 下载spotify音乐_如何在Amazon Echo上播放Spotify音乐
- 配置Visual Studio 2015+OpenGL可运行蓝宝书源码
- 【外接屏幕】Win10外接屏幕缩放比例异常
- 停不下来的团长奥尔加(一道递推题,思维很好啊....)
- python基于flask搭建http服务(二)—— 实现Excel上传、数据清洗、入库
- 【Linux学习】之chown命令
- PopWindow 制作常见的6种花哨效果