找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2512|回复: 1
打印 上一主题 下一主题
收起左侧

STM32单片机STM32CubeMX软件开发手册

[复制链接]
跳转到指定楼层
楼主
本帖最后由 xuchaopan 于 2020-10-30 15:38 编辑

一、       介绍
STM32Fxx系列单片机在CubeMX软件的加持下,大大的提高了开发效率并缩短前期开发时间。
CubeMX软件支持意法半导体的所有32位单片机,它可以帮助开发人员新建项目、设置芯片时钟、配置IO功能、定时器、设置诸如SPI/UART/I2C等等硬件端口,并且可对所有的基本参数进行配置,并且CubeMX还可以生成FreeRTOS嵌入式系统。
CubeMX支持Keil、IAR等主流程序编译环境的工程生产,生成的文件可以用编译软件直接打开并编译。
CubeMX包含了STM单片机的HAL库,会根据开发人员配置的功能自动加载HAL库文件。
二、       新建工程
1.    打开软件,并开始工程及芯片选择,如下图

点击第一个选项,从MCU选择开始。
2.    选择芯片,如下图

在搜索框中输入芯片型号后,在右下侧会出现该型号包含的芯片及封装,选择自己使用的封装后双击,则会进入下面这个界面,此时就可以开始配置芯片功能等参数了。

3.    芯片时钟设置
我们首先对芯片的时钟源进行配置,如下图

按照序号选项,在③处选择晶体振荡器。然后按照下图设置

按照序号顺序进行操作,在④处设置想要的系统时钟频率。
4.    工程保存,如下图

按照序号顺序操作,在②处输入工程名,③处选择工程保存的路径,④处选择要使用的编译软件及版本。然后如下图配置选择库和生产文件属性。

5.    生成工程
如下图,点击①后会弹出②处的进度条,这时等待其完成即可。

完成后会弹出下图的选项,这时可以选择直接打开工程。

6.    开始编写程序

如图,这就是CubeMX生产的一个最基本的工程,main.c在User文件夹下,之后就可以在main函数下开始编写程序,在添加程序时,请需注意:如上图的方框内的备注,添加的代码需要在BEGIN 之后 END之前,这样在下次CubeMX再生成文件的时候就不会被删除,否则CubeMX会将你写的代码全部删除,这样就功亏一篑了。
三、       GPIO的使用
1.    配置一个输出IO,这里用PA0作演示,如下图

如图,按序号顺序选择①处,我们回到pinout & configuration,在④处用电机PA0这个引脚后会弹出右边的功能选项表,这里就能看出这个IO端口支持的功能,这里我们选择Output(输出功能)。然后可以对这个IO口直接配置。

上图中①处选择要设置的IO口,在下面有5个选项,可以对其进行配置,
在⑥处可以数额如IO的名称,在生成后的main.h,就能找到这个名称的IO口,之后对其进行调用即可。
2.    程序编写

按上图顺序打开main.h,在④处添加控制宏,之后在main函数下添加IO控制程序即可,如下图

由①处可见,CubeMX再生成工程后,会自动添加GPIO初始化代码,不用开发人员自己再去做初始化,CubeMX会根据在软件上的配置进行代码生成,
在②处添加控制代码即可。
四、       定时器的使用
1.    设置一个定时器,定时时间为1ms,软件上配置如下图:

这里是启用的Tim2作为定时器源,上图按照顺序进行选项设置,
图中第④处为设置定时器分频系数,第⑤处设置的是计数器周期,第⑥处启用自动重装。
2.    然后在后面选项打开定时器中断,如下图:

3.    程序编写,在程序上打开定时,代码(HAL_TIM_Base_Start(&htim2);)。然后在stm32f1xx_it.c里面找到定时器2的中断服务器程序(TIM2_IRQHandler),在里面添加定时器中断标志即可。
五、       PWM的使用
1.    举例配置一个频率1kHz的PWM脉冲输出信号,如下图:

按照上图顺序选择,第③处为PWM输出通道选择,这里选择后,在芯片IO图中第④处可以看到就自动生成了一个PWM-CH1端口。然后⑤、⑥处设置分频系数、定时器值,⑦处设置装填的初始值,其占空比就是⑥/⑦的数值,也就是二分之一。
2.    程序编写:同样使用库函数(HAL_TIM_PWM_Start(&htim3,TIM_CHANNEL_1);)打开定时器3的第1路PWM输出;然后可以通过库函数修改PWM占空比(__HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_1, 500);)红字就是PWM输出占空比的比例值。
六、       SPI的使用
待补充
七、       I2C的使用
待补充
八、       UART的使用
待补充
九、       ADC的使用
待补充
十、       FreeRTOS的使用
待补充

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:703546 发表于 2020-11-4 22:52 | 只看该作者
好文!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表