赞
踩
本次写这篇文章是自己做一下学习记录,如有错误,还请大家斧正!!!
日后及时修正!感谢支持!
欢迎大家的关注 点赞 收藏 留言
按键操作作为GPIO口的输入的经典教程是每一位单片机开发新手接触的第二个项目、无论你是学习51单片机还是STM32等,都是以按键操作本次作为其开发的第二个项目,而怎样处理好按键也是有一定的技巧的,所以接下来就开启我的第二篇学习记录了。
首先打开Arduino IDE,点击 文件——> 点击新建,就会生成一个新的工程模板了。 (还可以点任务栏中“折了一角的书页”快速新建)。
然后给项目重命名,然后再保存。
这样一个新的工程就建好了。
本次项目既然是按键,那就离不开IO口了,所以本次提及的函数就是对IO的输入进行讲解。
首先介绍我们本次的重点:
digitalWrite()函数:
在使用输入功能前,你需要先通过pinMode() 函数配置引脚的模式为输入模式模式。
digitalRead(pin);
参数 | 说明 |
---|---|
pin | 指定引脚编号的配置 |
可以看见我的开发板的按键接的是低电平,并且接到了GPIO2引脚。
示例代码如下:
- int key=0; //定义状态变量
-
- void setup() {
- // put your setup code here, to run once:
- //初始化引脚
- pinMode(0,INPUT); //0脚做输入——KEY引脚
- pinMode(2,OUTPUT); //2脚做输出——LED引脚
- }
-
- void loop() {
- // put your main code here, to run repeatedly:
-
- key=digitalRead(0); //将0脚检测得电平赋值给key;
-
- if(key==LOW)
- {
- digitalWrite(2,LOW); //如果检测为低电平,就点亮LED灯
- }
- else //否则LED熄灭
- {
- digitalWrite(2,HIGH);
- }
- }
在我前一篇博文就介绍了如何编译、烧录,这里就不再过多赘述了,还望谅解!
因为CSDN上传视频麻烦,这里就不视频演视了,代码运行结果:当按键被按下时LED灯被点亮,松手就熄灭。
因为在之前学51时,按键消抖这块必不可少,就提出来这是不是这也可以用按键消抖代码?于是就有了本次的代码进阶,在学习的路上发现这个按键消抖的思想无论是51单片机还是STM32都适用。
接下来就演示进阶示例代码:
- void setup() {
- // put your setup code here, to run once:
- pinMode(2,OUTPUT);
-
- pinMode(0,INPUT);
- }
-
- void loop() {
- // put your main code here, to run repeatedly:
-
- if(digitalRead(0)==0)
- {
- delay(10);
- if(digitalRead(0)==0)
- {
- digitalWrite(2,LOW);
- }
- while(digitalRead(0)==0);
- }
- // delay(100);
- else
- digitalWrite(2,HIGH);
- // delay(100);
- }
现象就不演视了,就上面基础教程一样。
在这里我发现了一个有趣的现象,就是消不消抖对这款单片机没有太大区别!
关于此次基于Arduino IDE开发的ESP8266(ESP-12F)项目2 ——按键操作项目的介绍就讲到这里了,如果什么问题请再评论区留言。
接下来会陆陆续续发布一些其他的教程,敬请期待!感谢大家的支持!如有觉得这篇文章对你有所帮助的,还请点赞、收藏吧!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。