前言
本人是一名嵌入式学习者,在大学期间也参加了不少的竞赛并获奖,包括:江苏省电子设计竞赛省一、睿抗机器人国二、中国高校智能机器人国二、嵌入式设计竞赛国三、光电设计竞赛国三、节能减排竞赛国三等。
暑假的时候参加了太多的比赛,作为队长要写代码、材料文档,几乎是比完赛过几天又要去其他比赛了,前段时间都在休息,现在才有时间来记录一下。后面会经常写一下博客分享一下,如果想了解其他项目、技术,可以去B站搜:星汇极客,主页链接:星汇极客B站
此外,还开发了个人网站,里面有一些资料和源码供下载:星汇极客
GPIO_KEY按键输入
(0)初始配置
(1)GPIO上垃输入,选用PB12
GPIO输出,选用PC13
(2)生成工程,在keil写代码
函数:HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_12);参数分别是端口号、管脚号。读取引脚的电平状态,低电平返回0,高电平返回1。
函数:HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_13);参数分别是端口号、管脚号。翻转引脚的电平状态,0->1,1->0
按键按下一次,先延迟100ms消抖,防止误判,再读取一次是按下的就翻转一次PC13引脚(LED)。
if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_12) == 0)
{
HAL_Delay(100);
if(HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_12) == 0)
{
HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_13);
}
}
这里用两脚按键,一端连PB12,一端连GND。