按键
驱动实验与LED
以及Beep
在整体使用逻辑上一样,只是按键
是输入模式。
找到按键使用的引脚
查看底板原理图可知,按键
是KEY0
,断开状态时KEY0
是高电平,接通是低电平。
查看IO引用图可知,KEY0
使用的是UART1 CTS
引用。
查看I.MX6ULL
参考手册,UART1 CTS
复用为GPIO
之后是GPIO01_IO18
:
初始化GPIO01_IO18,配置电气属性并设置为输入
// 将UART1_CTS_B利用为GPIO01_IO18
IOMUXC_SetPinMux(IOMUXC_UART1_CTS_B_GPIO1_IO18, 0);
// 配置电气属性
IOMUXC_SetPinConfig(IOMUXC_UART1_CTS_B_GPIO1_IO18, CONST_GPIO_INPUT_PAD_VALUE);
// 配置GPIO方向以及默认值
GPIO_Init(GPIO1, 18, (GPIO_CONFIG){GPIO_DIRECTION_INPUT, 0});
读取按键状态
复用并初始化完GPIO1_IO18
后通过读取GPIO1_IO18
的电平状态就可以知道当前按键状态了。按键接下时为低电平,按钮弹起时为高电平。
但是在读取按键
状态时有一个问题,就是由于按键
在按下时短时间内的电平状态可能不稳定,在读取的时候需要做一个延时读取操作,防止读取的异常的电平状态,它的读取代码如下:
if (GPIO_RedValue(GPIO1, 18) == 0)
{
//此时的电平是低电平,表示按钮是接下状态
//为了防止电平抖动,延迟10ms再读取一下电平状态,如果还是按下表示按钮按下并且稳定
Delay(10);
if (GPIO_RedValue(GPIO1, 18))
{
return 1;
}
else
{
return 0;
}
}
else
{
// 按钮松开
return 0;
}
修改主程序逻辑
这里改成按键
按下则LED
亮同时BEEP
响
Clk_Init();
Led_Init();
Beep_Init();
Key0_Init();
while (1)
{
Delay(10);
if (Key0_GetValue())
{
Led_On();
Beep_On();
}
else
{
Led_Off();
Beep_Off();
}
}
return 0;
编译,烧写验证
make install
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
led
+关注
关注
237文章
22449浏览量
645875 -
模式
+关注
关注
0文章
63浏览量
13283 -
按键驱动
+关注
关注
0文章
11浏览量
7100
发布评论请先 登录
相关推荐
Linux下如何使用中断的方式来驱动按键
Linux下的按键输入驱动开发模板一文中介绍了基本的按键输入捕获流程,这里将进一步介绍如何使用中断的方式来驱动按键,同时通过定时器实现
发表于 07-29 08:59
•845次阅读
【嵌入式开发教程4】手把手教你做平板电脑-设备按键驱动实验教程
设备按键驱动实验教程——疯壳·嵌入式平板开发 第一节 引言 --- 如何看一个 GPIO 按键的电路原理图 下图来源于文档 3128_sdk_a02_20170325.pdf
发表于 06-06 10:46
【嵌入式开发教程4】疯壳·平板电脑-设备按键驱动实验教程
设备按键驱动实验教程——疯壳·嵌入式平板开发 第一节 引言 --- 如何看一个 GPIO 按键的电路原理图 下图来源于文档 3128_sdk_a02_20170325.pdf
发表于 07-21 15:04
【开发教程4】手把手教你做平板电脑-设备按键驱动实验教程
设备按键驱动实验教程——疯壳·嵌入式平板开发 第一节 引言 --- 如何看一个 GPIO 按键的电路原理图 下图来源于文档 3128_sdk_a02_20170325.pdf 中第 9
发表于 08-11 14:23
小键盘+LED驱动实验
小键盘+LED驱动实验:一.实验目的学习小键盘驱动原理和LED显示原理,掌握轮询方式获取键值的原理,理解驱动程序采用轮询方式和中断方式的区别
发表于 09-29 11:53
•28次下载
【单片机实验】按键实验(一,二,三)
按键实验 : 目的:通过按键控制其他元器件 实验一 K1~K4控制LED移位 目的:按下独立按键K1~K4,可分别上下控制连接在P0,P2端
发表于 11-23 19:45
•2061次阅读
MCU之按键驱动 -剥离按键驱动和事件处理
ButtonDrive 自己写的一个按键驱动,支持单双击、连按、长按;采用回调处理按键事件(自定义消抖时间),使用只需3步,创建按键,按键事
发表于 10-28 19:21
•18次下载
51单片机的自学之路(5)——独立按键和矩阵按键实验
独立按键实验做按键的实验,首先需要知道的,就是关于按键的消抖。一般的情况下,消抖分为两种:硬件和软件消抖。下面做
发表于 11-23 16:36
•10次下载
GPIO输入驱动实验-按键控制
GPIO输入驱动实验-按键控制写在前面:和beep实验一样,在已有的工程框架上加功能就行了,冲!!!对了这次会对gpio的操作编写成一个函数集合,方便调用,大家留意。1、bsp下新建k
发表于 12-20 19:14
•1次下载
CC2530按键控制LED开关实验
实验目的
1)、通过实验掌握CC2530芯片GPIO的配置方法
2)、掌握Led驱动电路及开关Led的原理
3)、掌握检测按键的方法
发表于 04-11 15:32
•5次下载
评论