2.按键点灯 国民技术N32G430C8L7—STB 开发板学习记录 库函数

在点灯代码的基础上进行修改

可以看到,配置的输出模式为推挽输出,我理解的推挽输出的意思是,推出去(高电平)和挽回来(低电平)的输出模式,即输出高低电平的一种模式,在这里用来点灯,高电平亮。

GPIO_InitStructure.GPIO_Mode    = GPIO_MODE_OUT_PP;//推挽输出

配置的输入模式为上拉输入,我的理解为,默认状态下是接了个电阻到vcc,即没有输入的时候是高电平(1),配置为上拉输入的话,按键另外一头就应该要接gnd,这样的话,当按键被按下时,就能输入一个低电平(0)信号。

	GPIO_InitStructure.GPIO_Mode    =	GPIO_MODE_INPUT;//输入模式
	GPIO_InitStructure.GPIO_Pull = GPIO_PULL_UP;//上拉输入

所以判断方式也是获取按键对应的io口,判断是否为低电平,就可以知道按键有没有被按下了

if((GPIO_Input_Pin_Data_Get(GPIOA,GPIO_PIN_4);)==0);

当按键被按下时,可以执行一些效果来观察,这里我用led1被按下就翻转状态来观察

PIO_Pin_Toggle(GPIOA,GPIO_PIN_1);

最后,看效果

可以观察到,每次按下key1状态就会翻转一次,但是发现不太稳定,存在按键抖动现象,这里应该在按键判断时做延时处理

最后,尝试将各个板块封装起来

模块化编程有利于代码的整洁和可阅读性

 GPIO_InitStructure.GPIO_Mode    =    GPIO_MODE_INPUT;//输入模式
 GPIO_InitStructure.GPIO_Pull = GPIO_PULL_UP;//上拉输入

 GPIO_Input_Pin_Data_Get(GPIOx,GPIO_pin x);//获取引脚输入数据

  • 12
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值