查看: 762|回复: 0

LinkSprite试用-Key_LED之二

[复制链接]
  • TA的每日心情
    开心
    2016-6-18 17:22
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2016-7-12 10:00:21 | 显示全部楼层 |阅读模式
    分享到:
    实现按键长按,LED灯不停的闪烁,否则按键一次,LED状态改变一次。
    程序代码如下:
    #include "mbed.h"
    //端口重定义
    DigitalOut  LED0(P0_20);   //RED
    DigitalOut  LED1(P0_19);   //BLUE
    DigitalIn   key1(P0_28);
    DigitalIn   key2(P0_29);
    //按键检测函数,检测是那个键按下
    u8 KEY_Scanf(uc8 mode)
    {
    static u8 ucKeyUp = 1;
    if(mode)
    ucKeyUp = 1;
    if( (ucKeyUp)&& ((KEY0 == 0)||(KEY1 == 0) ) )
    {
    delay_ms(100);
    ucKeyUp = 0;
    if(KEY0 == 0)
    return KEY0_PRES;
    else if(KEY1 == 0)
    return KEY1_PRES;
    }
    else if(KEY0==0 && KEY1==0)
    ucKeyUp = 1;
    return 5;
    }
    int main()
    {
    while(1)
    {
    KeyNum = KEY_Scanf(1);
    switch(KeyNum)
    {
    case KEY0_PRES:
    LED0 = !LED0 ;
    break;
    case KEY1_PRES:
    LED1 = !LED1;
    break;
    case WKUP_PRES:
    LED0 = !LED0;
    LED1 = !LED1;
    break;
    default:
    delay_ms(10);
    }
    }
    }
    实验现象图片 略。
    若有问题,还望大家指导。
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /5 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-12-20 14:50 , Processed in 0.129729 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.