按键驱动跟之前的LED,蜂鸣器的方法类似;通过底板,核心板我们可以看到按键的电路图:
通过电路图我们可以看出,当按键按下去为低电平,松开为高电平;所以我们要检测XEINT26的状态,通过芯片手册找到GPX3_2的说明;
有芯片手册可知:GPX3CON为0为检测,GPAC3DAT为1是高电平下面贴出代码:按键KEY1,KEY2,KEY3分别控制输出字符串,KEY4控制退出:
#define GPX3CON (*(volatile unsigned long *)0x11000c60)
#define GPX3DAT (*(volatile unsigned long *)0x11000c64)
int (*printf)(char *, ...) = 0xc3e114d8;
void (*udelay)(int) = 0xc3e25f90;//延时程序
int main()
{
GPX3CON &= ~(0xffff << 8);
while(1) {
/*key1*/
if((GPX3DAT & (0x1 << 2)) == 0) {
printf("key 1 down\n");
printf("hello world\n");
udelay(250000);
}
/*key2*/
if((GPX3DAT & (0x1 << 3)) == 0) {
printf("key 2 down\n");
printf("good monig\n");
udelay(250000);
}
/*key3*/
if((GPX3DAT & (0x1 << 4)) == 0) {
printf("key 3 down\n");
printf("welcom key 3\n");
udelay(250000);
}
/*key4*/
if((GPX3DAT & (0x1 << 5)) == 0) {
printf("key 4 down\n");
break;
}
}
printf("Over\n");
return 0;
}
开发板运行结果如下:
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
led
+关注
关注
240文章
23128浏览量
658245 -
蜂鸣器
+关注
关注
12文章
889浏览量
45860 -
按键驱动
+关注
关注
0文章
11浏览量
7126
发布评论请先 登录
相关推荐
(exynos4412)Tiny4412裸机开发-按键检测
上篇文章已经介绍过LED裸机编程,完成LED灯控制,这篇文章就介绍利用这款开发板继续完成按键编程,了解GPIO口基本的输入输出配置。
【代码】tiny4412裸机Demo
` 本帖最后由 zsm_linux 于 2014-8-15 10:31 编辑
我想肯定很多人需要,下载自CSDN, 为数不多的4412资料资料包含: 需要资料联系QQ 1402284892`
发表于 08-15 10:05
免费试用“Tiny4412开发板——友善之臂Cortex-A9”
本帖最后由 L490351555 于 2015-8-19 08:38 编辑
大家好,这两天咱们的论坛搞了一个开发板投票试用活动。现在有一个投票项就是“Tiny4412开发板——友善之臂
发表于 08-18 19:09
友善之臂Ubuntu使用手册
友善之臂Ubuntu使用手册本手册介绍如何在友善之臂开发板 Tiny4412 以及 NanoPC-T1 上安装和使用 Ubuntu 系统。
发表于 12-18 10:42
4412烧Android时不能启动,停在ANDROID界面
我也大家玩高大上的4412了,跟着最新光盘提供的"tiny4412用户烧写"手册,刷ANDROID时,烧写可以成功,但就是启动不了,一直停在ANDROID图标界面。串口也一直打印
发表于 05-13 07:45
请问在4412的USB驱动程序里该如何修改?
用tiny4412遇到一个问题,4412作为USB设备与作为主机的PC连接,物理连接是USB线,在4412上需要把USB上的特殊数据解析出来,当做并口数据处理。请问在4412的USB
发表于 05-17 00:12
Tiny4412-Uboot启动后无法加载uImage
好吧。。在这里先祈求,有哪位大大,或者老师,能关注下。个人一度试图移植tiny4412的uboot和kernel还有根文件系统。。。。。然后顺带学习一下设备树的用法这个是uboot配置ls/dev
发表于 08-30 05:45
TINY4412 UART程序设计得相关资料分享
嵌入式实验: TINY4412 UART 程序设计一、实验目的熟悉UART通信相关的寄存器的功能和设置方法,设置引脚复用,选择UART接收和发送对应的引脚用于UART通信,数据流格式设置,设置
发表于 11-09 06:11
如何实现Tiny4412通过NRF24L01 2.4G无线模块发送数据呢
Linux下SPI设备驱动该怎样去编写呢?如何实现Tiny4412通过NRF24L01 2.4G无线模块发送数据呢?
发表于 12-17 06:36
iny4412嵌入式Linux操作系统启动流程是怎样的
本次介绍一下友善之臂tiny4412嵌入式Linux操作系统分析首先,可以从官方提供的用户手册中得到这样一张图,它简单表达了裸机烧写启动系统的流程,不过这张图中缺少对BL2的描述,所以
发表于 12-20 07:50
如何使用ARM contexA9开发板进行LED驱动编程的详细资料说明
关于友善之臂出的这款contexA9开发板,目前在网络上的资源较少,特别是内核的,非常之少,鉴于这种情况,我将会写一个系列的驱动来做关于tiny4412这款板子开发的总结。
发表于 05-07 18:21
•2次下载
嵌入式实验: TINY4412 UART 程序设计
嵌入式实验: TINY4412 UART 程序设计一、实验目的熟悉UART通信相关的寄存器的功能和设置方法,设置引脚复用,选择UART接收和发送对应的引脚用于UART通信,数据流格式设置,设置
发表于 11-03 20:06
•13次下载
Linux驱动开发-编写RFID-RC522射频刷卡模块驱动
当前文章介绍如果在Linux系统下编写MF-RC522模块驱动,配合应用层,完成IC卡号读取,扇区读写,密码验证等等。当前开发板采用友善之臂Tiny4412,芯片是三星的EXYNOS4412
评论