作者
QQ群:852283276
微信:arm80x86
微信公众号:青儿创客基地
B站:主页 https://space.bilibili.com/208826118
参考
STM32CubeIDE属于一站式工具,本文带你体验它的强大
第一个STM32CubeIDE项目
STM32CubeIDE使用记录
STM32CubeIDE使用笔记(03):使用ST-LINK调试程序
实战经验 | STM32CubeIDE 实用技巧之 ld 链接文件
安装
STM32终于出了这样一款工具,之前也出过开源的eclipse开发工具,但这次帮你打包了一站式的,更方便了,点击此处下载,下载需要有自己的账号,官网下载,安装一路默认就可以了。
使用
新建stm32工程:文件 > 新建 > STM32 Project
,弹出下面的向导,通过1,2,3等过滤选项,选出正点原子战舰V3对应的stm32f103ze系列芯片,点击Next
,
下面一路默认选项,如果你是第一次使用,会自动开始下载相应的固件包,我这自动下载的过程被打断,弹出一个对话框说代码生成失败,现在尝试手动来操作,点击Help > Manage embedded software update
,这个菜单只有在*.ioc
的CubeMX文件打开的情况才可以点击,弹出一个对话框,下载f1系列的包,可以看到下面有一个From Local
,可以离线导入的,如果网实在太差,就别处下好导入,我最后还是离线导入的,官网下载stm32cubef1,是的,英文官网的速度飞起,比国内的网站还快,
配置单片机,先配时钟,最大性能的配置,系统时钟为72MHz,
配置GPIO等外设,可以在左边的列表配置,也可以在图形上单击选择配置,
GPIO配置,可以设置User Label,
Uart配置,参考stm32L071串口 奇偶校验问题,使用奇偶校验时必须把数据位配置UART_WORDLENGTH_9B
。使用串口printf时,打印浮点数需要设置,
CAN配置,参考文章CAN总线波特率的设定——以STM32F103为例,STM32单片机中CAN的波特率主要由4个参数共同决定。他们分别是重新同步跳跃时间单元(tsjw)、时间段1的时间单元(tbs1)、时间段2的时间单元(tbs2)、波特率分频器(brp)。对应到STM32单片机的库函数中,分别对应的是CAN_SJW、CAN_BS1(即tbs1+1)、CAN_BS2(即tbs2+1)、CAN_Prescaler等4个参数。库函数中只需完成这4个参数的设定即可。比如设置CAN_SJW=1tq,CAN_BS1=6tq,CAN_BS2=1tq,CANPrescaler=9,则波特率=36M/[(1+6+1)*9]=500Kbps。采样率=(1+6)/(1+6+1)=87.5%。要注意CAN_SJW没有参与任何公式的计算,波特率公式的那个位置是SS段,故而为1。
USB配置,使用默认设置,在Project Manager中把堆栈改大点,防止程序跑飞,
外部中断配置,
点击Project > Generate Code
可生成代码,查看工程属性,可以看到,自动配置好了包含路径,
配置
TAB
配置自动缩进为2,使用空格代替TAB,点击Edit,创建自己的配置,
问题
源代码无法编译
除了要设置Includes还要设置Source Location,
导入离线包
在导入stm32f4的离线包时,官网上只有en.STM32Cube_FW_F4_V1.24.0
外加一个补丁包en.patch_cubefw_f4.zip
,
而这个补丁包是没法导入的,报错,尝试手动打补丁,stm32的包文件都安装在下面的路径
C:\Users\***\STM32Cube\Repository\STM32Cube_FW_F4_V1.24.0
,手动把补丁文件解压覆盖试一下,重启一下软件看一下,成功了。