这半年忙的很学计系算法计网,外加可以忽略的c++,又基于我的知识储备这种较边缘知识一直顾不上来。眼看到最后期限这课不能再拖了,好歹计系学的差不多比较容易入门了,选择2天学完课开干。emmmm发现课纯理论除了教你怎么装软件,基础上等实验啥都没学。没教就没教咋还要求我们实现示波器、计算器、交通灯。。。真真大学大学,大不了自学,生气,尤其网上资源相当匮乏,而现在的我并不存在大把时间系统学习stm32,真的会笑,继续爬吧,好歹这剩下这个了,算法斗爬完了,我还怕啥。
STM选型/评估版的选型/MCU的交叉选型
在这个阶段提供了芯片的参考手册、数据手册以及应用文档等相关的资料。
通过芯片的工作频率、芯片片内存储器的容量、芯片的引脚数量等条件来进行芯片的筛选。
主要针对官方的三类开发板进行选择。
主要是为初次接触STM32微控制器的工程师进行一个平台切换的便利。
引脚的分配:对引脚的功能进行分配。
外设配置
主要是进行外设的初始化。以串口模块为例,主要是配置串口的通讯波特率以及数据位数等初始化参数。
中间件的配置
除了官方提供的中间件以外,还可以进行第三方插件的安装和配置。这样的话,提升了软件的扩展性。
生成初始化代码及软件工程:借助MCU固件包。
例程、中间件、HAL库。
STM32微控制器的各个产品系列,都有自己独立的MSU固件包。以F1为例,它所对应的MCU固件包就是STM32 Cube F1。F4对应STM32 Cube F4。
由arm公司推出的集成开发环境,是目前产业界使用最广泛的嵌入式开发软件之一。
图表 1 解压CubeMX 安装包
打开STM32 CubeMX,在菜单栏的Help-Manage embedded software packages中的STM32Cube MCU Packages选择STM32F4里的最新版本MCU固件包下载。完成后有绿色标志。(图表 2)
图表 2 安装MCU固件包
默认配置。不能有中文路径,建议默认路径。
图表 3 MDK-ARM下载安装
图表 4 关闭器件支持包安装工具
下载地址:www.keil.com/dd2/pack,在keil栏下下载STMicroelectronics STM32F4 Series Device Support, Drivers and Examples(图表 5)
图表 5 器件支持包下载
打开keil,点击Pack Installer里左栏Device的STMicroelectronics下的STM32F4 Series,点击右栏的Packs的Keil::STM32F4xx_DFP进行下载。安装成功后如图编程绿色按钮“Up to date”.(图表 6)
图表 6 器件支持包在线安装
控制开发板上用户指示灯LD2每隔一秒闪烁。建议用户在桌面上新建一个名为CubeMX的文件夹,用于存放例程代码。对于STM32微控制器的外设学习,可以再建立子文件夹:按照外设名称来建立。(英文路径)
确定所使用的芯片型号。打开软件点击基于芯片新建工程。(图表 7)
图表 7 基于芯片新建工程
图表 8 选型界面
明确引脚的功能。找到PA5引脚(可搜索)配置为GPIO_Output,用作LD2指示灯输出,配置玩PA5变亮绿色以有对应标签。(图表 9)
图表 9 引脚分配
配置外设的初始化参数。以串口为例,主要是要配置通讯的波特率数据格式。
配置RCC,选System Core-RCC,选旁路时钟BYPASS Clock Source。PH0 PH1引脚对应变绿。(图表 10)
图表 10 配置RCC
配置调试串口,选System Core-SYS,选Debug-Serial Wire。PH13 PH14引脚对应变绿。(图表 11)
图表 11 配置调试串口
GPIO配置(图表 12)
图表 12 配置GPIO
选择时钟源以及确定系统时钟和外设时钟的工作频率。
时钟源频率改为8,选择锁相环输入时钟HSE,选系统时钟源。HCLK时钟频率改为100并回车,软件自动调整。(图表 13)
图表 13 时钟配置
确定工程名称(图表 14),选择时钟源以及确定。系统时钟和外设时钟的工作频率。
图表 14 工程配置
为了实现仿真,改用STMF401VCT6,STM32CubeIDE编程。Main函数里加入:
- HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1|GPIO_PIN_2, GPIO_PIN_RESET);
- HAL_Delay(100);
- HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1|GPIO_PIN_2, GPIO_PIN_SET);
- HAL_Delay(100);
图表 15 新建工程
图表 16 芯片型号
加入LED及RES电阻。画图。(图表 17)
图表 17 添加器件