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的时基

相关推荐
wuyk5555 分钟前
24. C 语言模块化:不是拆几个.c 文件那么简单
c语言·开发语言·stm32·单片机
☆cwlulu1 小时前
调试排查工具介绍(gdb、strace、Valgrind等)
开发语言·c++·嵌入式硬件·ubuntu
lzqrzpt2 小时前
LED驱动电源选型标准与工程应用技术要点解析
python·单片机·嵌入式硬件·物联网
木子单片机3 小时前
基于51单片机的音乐彩灯设计
单片机·嵌入式硬件·51单片机·keil
hongmai6668883 小时前
ESP32-S2-MINI-2U-N4R2:一款为灵活部署而生的Wi-Fi MCU模组
人工智能·单片机·嵌入式硬件·物联网·智能家居
熙芯XiChip3 小时前
Modbus-RTU帧结构与功能码解析
单片机
电子工程师成长日记-C513 小时前
51单片机录音笔(带闹钟)
单片机·嵌入式硬件·51单片机
传感器与混合集成电路5 小时前
电流频率转换模块选型要考虑哪些参数?量程匹配、精度等级与封装形式的综合决策
单片机·嵌入式硬件
JNX_SEMI5 小时前
AT2659 L1频段多模卫星导航低噪声放大器技术解析
前端·单片机·嵌入式硬件·物联网·硬件工程
KaifuZeng6 小时前
通信与接口协议面试四、SPI
单片机·嵌入式硬件·通信与接口协议