你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 374|回复: 2

[STM32L476] NUCLEO-L476RG开发板初学者探索入门尝试(三)按键控制灯亮灭

[复制链接]

7

主题

4

回帖

0

蝴蝶豆

初级会员

最后登录
2020-8-11
发表于 2020-7-7 19:17:38 | 显示全部楼层 |阅读模式
通过按键控制小灯LD2亮灭,每按键一次,小灯状态发生一次变化。
配置按键,设置为下降沿触发,并且开启外部中断,设置优先级(设置优先级是为了和库函数中延时区分开,否则会干扰),如图:
1.png
2.png
通过配置和原理图可知,按键按下,PC13检测到低电平。通过gpio.c/gpio.h和main.c文件可以找到相关代码语句,在begin和end之间添加如下代码:
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
if(GPIO_Pin==GPIO_PIN_13)
{
  HAL_Delay(100);
  if(HAL_GPIO_ReadPin(B1_GPIO_Port, B1_Pin)==GPIO_PIN_RESET)
  HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5);
}
}
其中加入延时Delay是为了防抖。
原代码如图所示:
3.png
4.png
5.png
6.png
修改完成后编译并下载。
7.png
通过按下按键观察开发板小灯顺序亮灭。
完成!!!!!!!
回复

使用道具 举报

12

主题

1288

回帖

45

蝴蝶豆

金牌会员

最后登录
2020-12-9
发表于 2020-7-9 09:25:16 | 显示全部楼层
顶一下
回复 支持 反对

使用道具 举报

7

主题

4

回帖

0

蝴蝶豆

初级会员

最后登录
2020-8-11
 楼主| 发表于 2020-7-9 10:46:40 | 显示全部楼层

nice,多交流
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版