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

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

[复制链接]
malong9527 提问时间:2020-7-7 19:17 /
通过按键控制小灯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
通过按下按键观察开发板小灯顺序亮灭。
完成!!!!!!!
收藏 评论2 发布时间:2020-7-7 19:17

举报

2个回答
李康1202 回答时间:2020-7-9 09:25:16
顶一下
malong9527 回答时间:2020-7-9 10:46:40

nice,多交流

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版