一、安装STM32CubeMX
安装CubeMx一共需要三个
JRE :Java运行环境 运行JAVA程序所必须的环境的集合
STM32CubeMX
HAL库 :STM32
HAL固件库 :ST官方推出的另一套库
1.安装JRE
由于 STM32CubeMX 软件是基于 JAVA 环境运行的,所以需要安装 JRE (Java Runtime Environment)才能使用, 记得选择64位的安装
官网: https://www.java.com/en/download/manual.jsp
BD云: https://pan.baidu.com/s/1rI_XrM2SAw-6Jbvj75SWpg?pwd=hwk7
提取: hwk7
解压完成后,安装(更改目标文件夹)–修改路径–安装完成,关闭界面
2.安装STM32CubeM
官网:www.st.com/stm32cubemx
BD云: https://pan.baidu.com/s/1Zs_FVscmGGx6zSzcZ0L2BA?pwd=tkiv
提取: tkiv
3.打开安装包
同意协议–下一步
选择–i have…–NEXT
选择YES --NEXT
直接选择NEXT,不用设置其他,直接安装即可
看到Done后安装完成。
3.安装HAL库,可以选择在线安装和离线安装两种方式。
这里将选用在线安装的方式。
打开安装好的 STM32CubeMX 软件
Help–Manage embedded software packages
选择型号界面 勾选上需要安装的HAL库,选择“Install Now” 直到安装成功
二、利用HAL库创建新项目
1.在STMCubeMX的主界面创建新项目
在Part Number中选择STM32F103C8,在信息栏中选择具体芯片信息,选择Start Project:
选择System Core–SYS–在Debug下选择Serial Wire
观察时钟架构,APB2总线的时钟由hse控制,选择PLLCLK右边
在HSE处选择Crystal/Ceramic Resonator
选择相应的引脚设置输出寄存器,Output–PA4,PB9,PC15
Project Manager,配置相关的路径和项目名,在IDE处改为MDK-ARM
Code Generate界面,选择生成初始化.c/.h文件,后面点击GENERATE CODE,选择open project
2.keil仿真调试
进入KEIL5,打开后缀名为.uvprojx的文件
在main.c中的主函数部分,进行替换
SystemClock_Config();//系统时钟初始化
MX_GPIO_Init();//gpio初始化
while (1)
{
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_RESET);//PA4亮灯
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET);//PB9熄灯
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_SET);//PC15熄灯
HAL_Delay(1000);//延时1s
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_SET);//PA4熄灯
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_RESET);//PB9亮灯
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_SET);//PC15熄灯
HAL_Delay(1000);//延时1s
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_SET);//PA4熄灯
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET);//PB9熄灯
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_RESET);//PC15亮灯
HAL_Delay(1000);//延时1s
}
3.线路的连接
USB转TTL模块和stm32f103c8t6连接引脚图如下
GND — GND
3v3 — 3v3
TXD — A10
RXD — A9
boot0设为1,boot1设为0,利用跳线帽实现
4.烧录实现流水灯
利用生成的hex文件使用mcuisp烧录软件,对程序进行烧录。
程序运行结果如下:
5.GPIO口的输出波形
三、总结
通过本次学习更好的理解了STM32F103系列芯片及HEL库的使用,更好的完成GPIO端口时钟配置、输入输出模式设置、最大速率设置,接线时需要注意接口以及STM32芯片的引脚图,对stm32的学习更加具有实际意义。