【STM32】HAL库点亮LED灯

一、安装STM32CubeMX

1.以管理员身份运行并安装
在这里插入图片描述
在这里插入图片描述

2.勾选"I accept the terms of this license agreement",接着选择 Next
在这里插入图片描述

3.选择安装位置(注意:安装位置不要出现中文)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.安装完成
在这里插入图片描述
在这里插入图片描述

二、使用HAL库点亮LED灯

(一)LED灯闪烁原理

在这里插入图片描述

(二)CubeMX创建项目

1、选择芯片
在这里插入图片描述
2、SYS配置
在这里插入图片描述
3、RCC选择
在这里插入图片描述
4、端口输出设置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5、Clock Configuration设置
在这里插入图片描述
6、Project Manager设置
在这里插入图片描述
在这里插入图片描述
7、创建并用keil打开
在这里插入图片描述
在这里插入图片描述

(三)代码实现

在main.c中修改以下代码

while (1)
{
//写循环执行的代码
//第一步LED 亮 PC0 设置为0
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_0,GPIO_PIN_RESET);
//第二步 延时
HAL_Delay(1000);
//第三步LED 灭
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_0,GPIO_PIN_SET);
//第四步 延时
HAL_Delay(1000);
}

将程序烧录
在这里插入图片描述
在这里插入图片描述

(四)实验结果

在这里插入图片描述

(五)Keil波形图

在这里插入图片描述

三、中断控制LED灯

(一)CubeMX创建项目

1、引脚设置
在这里插入图片描述
2、EXTI配置
在这里插入图片描述
3、SYS配置
在这里插入图片描述
4、GPIO配置
在这里插入图片描述

(二)主要代码

1.在keil文件中找到stm32f103_it.c
2.找到EXTI9_5_IRQHandler这个函数,选中HAL_GPIO_EXTI_IRQHandler这个语句按F12跳到该函数
3.往下找到HAL_GPIO_EXTI_Callback这个函数

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变为高电位
}
}

将程序烧录进去
在这里插入图片描述

(三)实验结果

在这里插入图片描述

参考博客

https://blog.csdn.net/weixin_56102526/article/details/120877293
https://blog.csdn.net/weixin_56102526/article/details/120877293

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值