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
修改通信模式Mode为Asynchronous(异步通信),Baud Rate(波特率)需要发送和接收的两个设备一致,此处发送和接收是同一个设备,所以不用管了
然后在NVIC Settings打开串口中断(点击Enabled)
但是第二次培训没有演示先挖个坑在这里嘻嘻
System Core -> NVIC中可以看到所有的中断及其优先级(preemption priority),数值越小优先级越高
CAN参数配置
来到Pinout & Configuration -> Connectivity -> FDCAN1,先勾选
同样要在NVIC Settings里打开中断
接下来跳到Parameter Settings
先配置basic parammeter参数
将以下项的值修改为我们需要的值:
| 需要修改的量 | 修改后的值 |
|---|---|
| Nominal Sync Jump Width | 8 |
| Rx Fifo0 Elmts Nbr | 32 |
| Tx Fifo0 Queue Elmts Nbr | 10 |

然后配置下面的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 |

提醒
在这里请务必检查每比特的标称时间Nominal Time for one Bit和波特率Nominal Baud Rate和图片中是否一致
以下有几种方法:
- 检查时钟树
Clock Configuratoin是否正确。如果时钟树和前文的配置不一致,修改过来 - 在时钟树里修改frcan的分频把tq大小配置为25ns
- 调整参数
seg1和seg2,使得每比特的标称时间Nominal Time for one Bit和波特率Nominal Baud Rate和图片中一致
如果还打开了FDCAN2,那么就在Pinout & Configuration -> System Core -> NVIC中修改中断优先级
这里以CAN1作为主CAN
生成工程
打开Project Manager,自行修改Project Name和Project LocationToolchain/IDE要选择MDK-ARM,版本Min Version选V5
接着在Project Maneger -> Code Generator -> Generated files中勾选第一个选项
这样做就可以在生成代码的时候让不同功能的代码在不同的文件中,便于查找和修改

最后点击右上角的Generate Code即可生成代码
提醒!
首次生成代码时会提示需要登录,跟随指引注册即可
如果跳过注册登录生成代码,CubeMX不会生成Keil的工程文件(.uvprojx)而只生成代码
Keil只能打开后缀为.uvprojx的文件,不能直接打开.c或者文件夹哦
提示
最后成功生成的对话框应该点击Open Project来直接打开Keil
—END—
参考:
stm32H750工程配置,定时器中断与串口收发通信(中断与DMA)测试
stm32H750转RM3508电机(纯实践教程)