2020-09-08 STM32_LED GPIO学习笔记

参考:https://blog.csdn.net/pursue16/article/details/78899607?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159953269019725254040119%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=159953269019725254040119&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v3~pc_rank_v3-1-78899607.pc_ecpm_v3_pc_rank_v3&utm_term=togglepin&spm=1018.2118.3001.4187

参考:https://blog.csdn.net/weiLongElectrophile/article/details/95669710?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159953379019724835864926%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=159953379019724835864926&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v3~pc_rank_v2-1-95669710.first_rank_ecpm_v3_pc_rank_v2&utm_term=HAL_GPIO_TogglePin&spm=1018.2118.3001.4187

 

课堂操作:(建议先看一眼第4步)

1、

写入某个引脚的电平状态:

HAL_GPIO_WritePin()

把这行复制粘贴至main.c  并将最后一个参数的RESET改成SET  如下

//4个灯的:  HAL_GPIO_WritePin(GPIOA, LED1_Pin|LED2_Pin|LED3_Pin|LED4_Pin, GPIO_PIN_RESET);

连接单片机  按RESET键  小灯在按下时熄灭  松手是重新亮起

2、

翻转某个引脚的电平状态:

HAL_GPIO_TogglePin()

复制粘贴到main并改动

//4个灯的照LED1的搞4遍

3、

添加延迟函数至循环while(1)内,实现小灯闪烁

注:记得声明函数

4、

在STM32中把LED2 3 4都加进去(可能要把之前的代码保存or复制下来备份一下,或者直接一开始就按4个灯的配置)

5、

用delay函数实现依次闪动(加几个delay就行,可跳过)

6、

用delay函数调节闪动频率使得4个灯的亮度不同

(delay的参数可根据实际情况调节)

7、

让灯实现 从亮到暗 再从暗到亮 的变化

保持一定的周期:while(1)外设置周期时间

用自带函数HAL_Delay(int t);

8、配置wake up键

9、按wake up键,LED1亮;松手灯灭

10、按键防抖+依次显示0-15的二进制

11、加入中断

勾上Enabled //允许中断

点击GENERATE CODE //生成代码

将防抖部分代码整合成函数写进 gpio.c

在 gpio.h 里声明函数

将该函数加入 外部中断服务函数 的函数定义中

未完待续...

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值