安装STM32CubeMX
首先,STM32CubeMX使用java编写的,所以,电脑上首先需要安装java环境,安装链接在此
链接: https://www.java.com/zh-CN/download/
安装好了之后我们就可以开始安装STM32CubeMX
安装STM32CubeMX
步骤1:点击官网链接下载
官网下载地址:https://www.st.com/en/development-tools/stm32cubemx.html
步骤2:点击 Get Software
步骤3:选择 Windows 系统,点击 Get latest
步骤4:点击 ACCEPT
步骤5:填写个人信息
步骤6:在刚刚填写的邮箱中,点击下载链接
步骤7:下载完成
步骤8:解压后,就是安装软件
STM32CubeMX 安装
步骤1:双击安装软件
步骤2:点击Next
步骤3:勾选同意,然后点击Next
步骤4:勾选第一个,然后点击Next
步骤5:选择安装路径,然后点击Next
步骤6:默认设置,然后点击Next
步骤7:安装中。。。
步骤8:安装完成
使用STM32CubeMX创建一个新工程
创建新工程
SYS设置
RCC设置![在这里插入图片描述](https://img-blog.csdnimg.cn/0c661f6cf47246229ef1627641b4e806.png)
GPIO设置选择端口![在这里插入图片描述](https://img-blog.csdnimg.cn/2e3df6213920473d8d9a89817225fd9a.png)
将选择的三个端口的output level设置为High
时钟设置
设置输出 ![在这里插入图片描述](https://img-blog.csdnimg.cn/bc1a5c14c5f2479697e533b181ee99bc.png)
生成工程并用keil打开
keil打开
找到main.c文件在主函数main的while(1)中写入代码![在这里插入图片描述](https://img-blog.csdnimg.cn/75e71924de7c4cddba543a75478a759f.png)
按照选择的端口将硬件连接起来
实物运行结果
用stm32F103核心板的GPIOA端某一管脚接一个开关(用杜邦线模拟代替)。采用中断模式编程,当开关接高电平时,LED流水灯工作;
采用中断模式编程,当开关接高电平时,LED流水灯工作
选择 LED 灯引脚 PA5,设置引脚为输出模式 GPIO_Output;
选择作为外部中断的引脚 PB15,设置为与中断线 GPIO_EXTI15 连接。
使能引脚对应的外部中断线 EXTI line[15:10]
二、通过KEil配置代码
1.打开生成的项目,找到stm32f1xx_it.c
2.找到EXTI9_5_IRQHandler这个函数,选中HAL_GPIO_EXTI_IRQHandler这个语句按F12跳到该函数
3.往下找到HAL_GPIO_EXTI_Callback这个函数
该函数是给用户自己重写的,可以在这里根据不同的中断来执行不同的处理。在这里我们需要根据B5的不同中断来实现A4的亮灭。
函数代码
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin){
if(GPIO_Pin == SWITCH_Pin){
//获取B5的电位
GPIO_PinState pinState = HAL_GPIO_ReadPin(SWITCH_GPIO_Port,SWITCH_Pin);
//低电位
if(pinState==GPIO_PIN_RESET)
HAL_GPIO_WritePin(LED_A4_GPIO_Port,LED_A4_Pin,GPIO_PIN_RESET);//把A4变为低电位
//高电位
else
HAL_GPIO_WritePin(LED_A4_GPIO_Port,LED_A4_Pin,GPIO_PIN_SET);//把A4变为高电位
}
}
烧录
使用Keil的软件仿真逻辑分析仪功能观察管脚的时序波形
可以参考此篇博客
链接: https://blog.csdn.net/weixin_63019977/article/details/133749827
分析可知,引脚的电平正确