目的/起源: 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 初始化配置)相关推荐

  1. STM32学习笔记1----STM32F429系统时钟

    FreeRTOS任务基本知识 1.系统时钟     在 STM32F429 中,有 5 个最重要的时钟源,为 HSI.HSE.LSI.LSE.PLL.其中 PLL实际是分为三个时钟源,分别为主 PLL ...

  2. STM32入门笔记(02):定时器之定时器中断、输入捕获和PWM输出(SPL库函数版)

    目录 定时器 8个定时器 定时器功能 定时器中断 常用通用定时器的寄存器 定时器中断实验目的: 定时器库函数及步骤 实验程序讲解 PWM 简介 STM32 PWM工作过程 PWM模式1 与 PWM模式 ...

  3. DSP学习笔记之系统时钟、定时器、GPIO篇

    \qquad写在前面,不管是C51.MSP430.32也好,DSP也好,总要有一个掌握的比较熟练,不能每次都复制粘贴别人的代码然后修修补补吧.不要再做Ctrl +C.Ctrl+V工程师.主要参考来自于 ...

  4. Zabbix监控系统系列之二 : 初始化配置

    ======= 系列目录 ======= Zabbix监控系统系列之一 : Server部署 Zabbix监控系统系列之二 : 初始化配置 Zabbix监控系统系列之三 :版本升级 Zabbix监控系 ...

  5. STM32入门笔记04_TIM定时器+案例:TIM定时器定时中断、定时器外部时钟

    TIM定时器 TIM简介 TIM(Timer) 定时器 定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断 16位计数器.预分频器.自动重装寄存器的时基单元,在72MHz(系统主频)计数时 ...

  6. STM32入门笔记(02):F103C8T6 舵机PWM控制实验(SPL库函数版)

    舵机的结构 舵机简单的说就是集成了直流电机. 电机控制器和减速器等, 并封装在一个便于安装的外壳里的伺服单元. 能够利用简单的输入信号比较精确的转动给定角度的电机系统. 舵机安装了一个电位器(或其它角 ...

  7. 【小梅哥SOPC学习笔记】系统时钟的使用

    给NIOS II CPU添加一颗澎湃的心--系统时钟的使用 本实验介绍如何在Qsys中添加一个定时器作为NIOS II的心跳定时器,并在NIOS II中软件编程使用该定时器. 将上一个实验watchd ...

  8. 【STM32F10系列实操笔记】系统时钟的配置

    STM32F10系列的相关手册 链接:https://pan.baidu.com/s/1_EchQZ6y0CanRQTACDe67Q  提取码:sdsd 下图应该是配置系统时钟必不可少的一张图吧 搭配 ...

  9. ESP32 入门笔记03:PWM (ESP32 for Arduino IDE)

    先导知识 ESP32 入门笔记01:开发板信息.开发环境搭建以及学资料准备 ESP32 入门笔记02: GPIO参考指南 ESP32 有一个 LED PWM 控制器,具有 16 个独立通道,可配置为生 ...

最新文章

  1. JavaScript引擎V8 5.1遵循了更多的ECMAScript规范并支持WASM
  2. Groovy中的闭包
  3. matlab变量区表示函数,MATLAB中的工作区,变量和函数
  4. mapbox 修改初始位置_3dmax样条线的创建和修改
  5. ps制作html图标素材,如何用PS制作一个简单的扁平化图标?
  6. 【干货】容器适配器实现两个栈模拟队列
  7. 拒绝枯燥,有意思的 Loading 页面动效设计
  8. dell r230u盘启动安装2008_dell r230服务器 怎么u盘开启
  9. 层次分析法模型及代码
  10. winfroms更换皮肤
  11. 从join on和where执行顺序认识T-SQL查询处理执行顺序
  12. Ogre 3d 工具集
  13. mysql如何创建视图语句_创建视图的语句
  14. 什么是网站的统计代码
  15. 计算机指令与运算基础原理笔记
  16. DW制作小三角型教程
  17. 二、爬虫 - 新浪爱问共享资源全下载之功能实现
  18. 固态U盘能装linux么,用u盘在固态硬盘上安装linux 多重开启系统
  19. 如何在PDF上添加电子签名?签名技巧分享
  20. Django——09.spaceless, autescape, verbatim标签

热门文章

  1. 聚焦无障碍阅读,福昕捐出2000套福昕高级PDF编辑器
  2. 【AI】简单的方法教你做一组字体设计
  3. noip模拟【noname】
  4. 下载spotify音乐_如何在Amazon Echo上播放Spotify音乐
  5. 配置Visual Studio 2015+OpenGL可运行蓝宝书源码
  6. 【外接屏幕】Win10外接屏幕缩放比例异常
  7. 停不下来的团长奥尔加(一道递推题,思维很好啊....)
  8. python基于flask搭建http服务(二)—— 实现Excel上传、数据清洗、入库
  9. 【Linux学习】之chown命令
  10. PopWindow 制作常见的6种花哨效果