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 Location
Toolchain/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电机(纯实践教程)