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

相关推荐
计蒙不吃鱼1 小时前
星闪开发之Server-Client 指令交互控制红灯亮灭案例解析(SLE_LED详解)
嵌入式硬件·物联网·iot·星闪·星闪开发
想搞嵌入式的小白2 小时前
STM32 NVIC中断控制器
stm32·单片机·嵌入式硬件·nvic
A-花开堪折2 小时前
Android7 Input(十)View 处理Input事件pipeline
android·嵌入式硬件
深圳市尚想信息技术有限公司3 小时前
【深尚想】OPA855QDSGRQ1运算放大器IC德州仪器TI汽车级高速8GHz增益带宽的全面解析
单片机·嵌入式硬件
陕西艾瑞科惯性技术有限公司4 小时前
让飞行姿态 “可感知”:为什么无人机需要三轴陀螺仪?
嵌入式硬件·机器学习·机器人·无人机·pcb工艺
代码总长两年半4 小时前
STM32----IAP远程升级
stm32·单片机·嵌入式硬件
广药门徒4 小时前
STM32手册上标称的18MHz GPIO翻转速度和你实际测量到的速度之间的差异是预期之内且合理的
单片机·嵌入式硬件
广药门徒4 小时前
在使用一些不用驱动大电流的设备就可以用stm32的自己的上下拉但是本身上下拉不就是给iicspi这些他通信给信号的吗中怎么还跟驱动能力扯上了有什么场景嘛
stm32·单片机·fpga开发
jz_ddk5 小时前
[zynq] Zynq Linux 环境下 AXI BRAM 控制器驱动方法详解(代码示例)
linux·运维·c语言·网络·嵌入式硬件
天天爱吃肉82186 小时前
【十年技术演进深度解构:车载充电机(OBC)将成为新能源汽车的“能源大脑”】
python·嵌入式硬件·算法·汽车·能源