stm32H750工程配置

前置要求

下载安装好STM32CuBeMX

基础配置

打开STM32CuBeMX,找到File -> New Project
Commercial Part Number中检索我们所使用的芯片STM32H750VBT6
点击Start Project来新建工程

中间如果出现对话框点击yes即可

由于芯片自带的计时器不够精确,因此使用外部晶振器给芯片提供时钟信号
为了完成这个配置,我们需要打开Pinout & Configuration -> System Core -> RCC
在面板上的Mode -> High Speed Clock(HSC)中选择 Crystal/Ceramic Resonator启用外部晶振器
并在Configuration -> Parameter Settings -> Power Regulator Voltage Scale选择Power Regulator Voltage Scale 0

接着配置时钟树
转到Clock Configuration面板
修改最左边Input frequency的值为8
修改 标注了480 MHz max的框内的值为480
回车后STM32CubeMX会自动分配数值,稍等片刻即可

中间如果出现对话框点击yes即可

定时器中断配置

来到Pinout & Configuration -> Timers -> TIM14
点击Activated来启用TIM14,这时就可以在Configuration -> Parameter Settings中设置了

要修改的参数 修改为
Prescaler 240-1
Counter Period 1000-1

这样定时器每1ms就会中断1次

还要在Configuration -> NVIC Settings中点击Enable选项打开定时器中断

串口中断配置

来到Pinout & Configuration -> Connectivity -> UART5
修改通信模式ModeAsynchronous(异步通信),Baud Rate(波特率)需要发送和接收的两个设备一致,此处发送和接收是同一个设备,所以不用管了
然后在NVIC Settings打开串口中断(点击Enabled)

但是第二次培训没有演示
先挖个坑在这里
嘻嘻

System Core -> NVIC中可以看到所有的中断及其优先级(preemption priority),数值越小优先级越高

CAN参数配置

来到Pinout & Configuration -> Connectivity -> FDCAN1,先勾选

Activated

同样要在NVIC Settings里打开中断

接下来跳到Parameter Settings
先配置basic parammeter参数
将以下项的值修改为我们需要的值:

需要修改的量 修改后的值
Nominal Sync Jump Width 8
Rx Fifo0 Elmts Nbr 32
Tx Fifo0 Queue Elmts Nbr 10

basic parammeter

然后配置下面的Bit Timings Parameters
在Bit Timings Parameters界面中,需要进行CAN的波特率的配置,在B设置完分频系数 (Prescaler) 后,cubeMX 会自动完成 Time Quantum(简写为 tq)的计算,将 tq 乘以 {seg1 (Time Quanta in Bit Segment 1) + seg2 (Time Quanta in Bit Segment 2) + 1}刚好为 1 微秒,对应波特率为 1M,这是 CAN 总线支持的最高通讯速率。

需要修改的量 修改后的值
Nominal Prescaler 3
Nominal Time Seg1 31
Nominal Time Seg1 8

Bit Timings Parameters

提醒
在这里请务必检查每比特的标称时间Nominal Time for one Bit和波特率Nominal Baud Rate和图片中是否一致

以下有几种方法:

  1. 检查时钟树Clock Configuratoin是否正确。如果时钟树和前文的配置不一致,修改过来
  2. 在时钟树里修改frcan的分频把tq大小配置为25ns
  3. 调整参数seg1seg2,使得每比特的标称时间Nominal Time for one Bit和波特率Nominal Baud Rate和图片中一致

如果还打开了FDCAN2,那么就在Pinout & Configuration -> System Core -> NVIC中修改中断优先级
这里以CAN1作为主CAN

生成工程

打开Project Manager,自行修改Project NameProject Location
Toolchain/IDE要选择MDK-ARM,版本Min VersionV5
接着在Project Maneger -> Code Generator -> Generated files中勾选第一个选项

Generate peripheral initialization as a pair of .c/.h files per peripheral

这样做就可以在生成代码的时候让不同功能的代码在不同的文件中,便于查找和修改


最后点击右上角的Generate Code即可生成代码

提醒!
首次生成代码时会提示需要登录,跟随指引注册即可
如果跳过注册登录生成代码,CubeMX不会生成Keil的工程文件(.uvprojx)而只生成代码
Keil只能打开后缀为.uvprojx的文件,不能直接打开.c或者文件夹哦

提示
最后成功生成的对话框应该点击Open Project来直接打开Keil

—END—

参考:
stm32H750工程配置,定时器中断与串口收发通信(中断与DMA)测试
stm32H750转RM3508电机(纯实践教程)


stm32H750工程配置
http://chose-b-log.netlify.app/stm32H750工程配置/
作者
B
发布于
2025年10月15日
许可协议