• S5PV210按键控制LED


    原理图如图所示:

    image

    查询用户手册得到:

    image

    image

    程序例子:(完整代码见“代码下载链接”)

    1、轮询的方式查询按键事件
    /*main.c*/
    核心代码如下:
    while(1)
    {
    dat = GPH2DAT;
    if(dat & (1<<0)) // KEY1被按下,则LED1亮,否则LED1灭
    GPJ2DAT |= 1<<0; // OFF
    else
    GPJ2DAT &= ~(1<<0); // ON
    if(dat & (1<<1)) // KEY2被按下,则LED2亮,否则LED2灭
    GPJ2DAT |= 1<<1;
    else
    GPJ2DAT &= ~(1<<1);
    if(dat & (1<<2)) // KEY3被按下,则LED3亮,否则LED3灭
    GPJ2DAT |= (1<<2);
    else
    GPJ2DAT &= ~(1<<2);
    if(dat & (1<<3)) // KEY4被按下,则LED4亮,否则LED4灭
    GPJ2DAT |= 1<<3;
    else
    GPJ2DAT &= ~(1<<3);
    }
    程序很简单,首先配置GPJ2_0/1/2/3引脚为输出功能以及配置GPH2_0/1/2/3引脚为输入功能,然后使用轮询的方式不断的读GPH2_0/1/2/3引脚的值,当检测到某个按键被按下时,即对应的引脚为低,此时我们点亮对应的LED,否者让LED保持熄灭的状态。
    用查询的方式来检测按键太占CPU使用率了,除了检测按键,CPU无法进行其他工作,后面学习中断的知识后,我们将改用中断的方式来检测按键中断,这将大大降低CPU的使用率。

    代码下载链接:http://download.csdn.net/detail/klcf0220/5635159

    喜欢开源,乐意分享的大神们,欢迎加入QQ群:176507146,你值的拥有哦!

    作者:快乐出发0220 ;Android群:151319601 ; Linux群:96394158 ;转载请注明出处 http://klcf0220.cnblogs.com/ !!!
  • 相关阅读:
    第6次实践作业
    第5次实践作业
    第4次实践作业
    第3次实践作业
    第二次实践作业
    2020系统综合实践 第1次实践作业
    软工实践个人总结
    第11组 Beta版本演示
    第11组 Beta冲刺(4/5)
    第11组 Beta冲刺(5/5)
  • 原文地址:https://www.cnblogs.com/klcf0220/p/3115950.html
Copyright © 2020-2023  润新知