STM32CubeMX 配置 STM32F407时钟树和烧录方式

时钟树

要先把High Speed Clock设置为外部晶振,再去设置时钟树

PLL选用高速外部时钟线(HSE)
Input frequency 数值为外部晶振,大多开发板上为8M
SYSCLK 为系统时钟,F407为168MHz
APB2 外设时钟线为系统时钟的一半
APB1 外设时钟线为 APB2系统时钟线的一半

输入参数后,回车,软件会自动更改所有配置

配置调试模式

选择 DebugSerial Wire
SW调试模式只需要四根线,3.3V、GND、SWCLK、SWDIO

TimeBase Source 裸机选择 SysTick ,OS 选择 TIM1 作为HAL库的时基(除了 SysTick 外都可以)

在基于STM32 HAL的项目中,一般需要维护的 "时基" 主要有2个:

1、HAL的时基,SYS Timebase Source

2、OS的时基(仅在使用OS的情况下才考虑)

而这些 "时基" 该去如何维护,主要分为两种情况考虑:

裸机运行:

可以通过 SysTick(滴答定时器)或(TIMx)定时器的方式来维护 SYS Timebase Source,也就是HAL库中的 uwTick,这是HAL库中维护的一个全局变量。在裸机运行的情况下,我们一般选择默认的 SysTick(滴答定时器)方式即可,也就是直接放在 SysTick_Handler() 中断服务函数中来维护。

带OS运行:

前面提到的 SYS Timebase Source 是STM32的HAL库中的新增部分,主要用于实现 HAL_Delay() 以及作为各种 timeout 的时钟基准。

在使用了OS(操作系统)之后,OS的运行也需要一个时钟基准(简称"时基"),来对任务和时间等进行管理。而OS的这个 时基 一般也都是通过 SysTick(滴答定时器)来维护的,这时就需要考虑 "HAL的时基" 和 "OS的时基" 是否要共用 SysTick(滴答定时器)了。

因而建议:裸机选用SysTick,OS选用TIM1 作为HAL的时基

相关推荐
qq_526099132 小时前
工控机的用途与介绍:工业自动化的重要引擎
嵌入式硬件·自动化·电脑
尘似鹤3 小时前
旋钮键盘项目---foc讲解(开环)
单片机·嵌入式硬件
意法半导体STM324 小时前
STM32N6引入NPU,为边缘AI插上“隐形的翅膀”
单片机·ai·npu·st·stm32n6·边缘人工智能
范纹杉想快点毕业10 小时前
嵌入式 C 语言编程规范个人学习笔记,参考华为《C 语言编程规范》
linux·服务器·数据库·笔记·单片机·嵌入式硬件·fpga开发
Wallace Zhang11 小时前
STM32 - Embedded IDE - GCC - 解决LWRB库在GCC编译器会编译失败,在ARMCC编译器时却正常编译
ide·stm32·嵌入式硬件
3D打印-HUSTAIBO19 小时前
【电气】NPN与PNP
单片机·嵌入式硬件
ksk自在无敌1 天前
ESP8266的AP模式与STA编写,
stm32·单片机·嵌入式硬件
晶振厂家-晶发电子1 天前
怎么判断晶振的好坏,有什么简单的办法
单片机·嵌入式硬件
jllllyuz1 天前
SysTick定时器的工作原理是什么
stm32·单片机·嵌入式硬件
RIKI_11 天前
【浅学】tflite-micro + ESP32S3 + VScode + ESP-IDF 基于例程快速实现自己的图像分类模型训练部署全流程
单片机·分类