打印
[资料分享与下载]

yl-KL26库函数学习-按键

[复制链接]
609|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Tennasi|  楼主 | 2015-11-21 19:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
对于山外的KEY我也改动不少,由于我们用按键主要是方便使用,没有必要添加一连串的KEY
这是我所改动的地方
1.在vcan_key.h即KEY头文件里直接采用宏定义方法(由于我们所用的开发板上有两个按键那就先用两个,将最后一个注释掉)
/******************************噬猎者编辑***********************************/
#ifndef __VCAN_KEY_H__
#define __VCAN_KEY_H__

//配置系统板的KEY硬件
#define KEY0  PTD6_IN
#define KEY1  PTA4_IN
//#define KEY2  PTC17_IN

//定义按键IO口
#define KEY0_IN  PTD6
#define KEY1_IN  PTA4
//#define KEY2_IN  PTC17

          //对应的端口号


// KEY初始化    宏定义   效率高
#define KEY_INIT()             gpio_init(KEY0_IN,GPI,0);   \
                                       gpio_init(KEY1_IN,GPI,0)//;   \
                              //         gpio_init(KEY2_IN,GPI,0)
               
                                                               

//定义延时,方便延时
#include    "MKL_mcg.h"
#define   KEY_DELAY           DELAY()
#define   KEY_DELAY_MS(x)     DELAY_MS(x)
void key();


#endif  //__VCAN_KEY_H__
2.VCAN_key.c文件中: 只包含key函数,如果还有其他KEY可以从注释掉的里面添加
不过要注意在.c文件中使用其他文件里面的功能时需要附上其他的.c文件
/************************噬猎者编辑***********************************
//KEY主程序
KEY0 = PTD6

//KEY1 = PTC19

KEY函数:
KEY_INIT();//按键初始化
data = KEY0; //获取按键输入值  
************************************************************************/
/*
* 包含头文件
*/
#include "common.h"
#include "MKL_port.h"
#include "MKL_gpio.h"
#include "VCAN_key.h"
/******************用户的程序头文件*************************************/
#include "VCAN_LED.H"//由于使用LED所以就加上其头文件



void key()
{
  u8 i=0;
//============================   0   ===============================//
  if(0==KEY0)
  {
      KEY_DELAY_MS(10);
      if(0==KEY0)
      {
        LED_TURN(LED0);
        
        i=0;while((0==KEY0)&&(i<50)){i++;KEY_DELAY_MS(10);}
      }
  }
//============================   1   ===============================//
  if(0==KEY1)
  {
      KEY_DELAY_MS(10);
      if(0==KEY1)
      {
        LED_TURN(LED1);
        
        i=0;while((0==KEY1)&&(i<50)){i++;KEY_DELAY_MS(10);}
      }
  }

}




















/********************************噬猎者编辑*******************************
void key()
{
  u8 i=0;
//============================   0   ===============================//
  if(0==KEY0)
  {
      KEY_DELAY_MS(10);
      if(0==KEY0)
      {
        LED_TURN(LED0);
        
        i=0;while((0==KEY0)&&(i<50)){i++;KEY_DELAY_MS(10);}
      }
  }
//============================   1   ===============================//
  if(0==KEY1)
  {
      KEY_DELAY_MS(10);
      if(0==KEY1)
      {
        LED_TURN(LED1);
        
        i=0;while((0==KEY1)&&(i<50)){i++;KEY_DELAY_MS(10);}
      }
  }
//============================   2   ===============================//
  if(0==KEY2)
  {
      KEY_DELAY_MS(10);
      if(0==KEY2)
      {
        LED_TURN(LED2);
        
        i=0;while((0==KEY2)&&(i<50)){i++;KEY_DELAY_MS(10);}
      }
  }
//============================   3   ===============================//
  if(0==KEY3)
  {
      KEY_DELAY_MS(10);
      if(0==KEY3)
      {
        LED_TURN(LED3);
        
        i=0;while((0==KEY3)&&(i<50)){i++;KEY_DELAY_MS(10);}
      }
  }
//============================   4   ===============================//
  if(0==KEY4)
  {
      KEY_DELAY_MS(10);
      if(0==KEY4)
      {

        
        i=0;while((0==KEY4)&&(i<50)){i++;KEY_DELAY_MS(10);}
      }
  }
//============================   5   ===============================//
  if(0==KEY5)
  {
      KEY_DELAY_MS(10);
      if(0==KEY5)
      {

        
        i=0;while((0==KEY5)&&(i<50)){i++;KEY_DELAY_MS(10);}
      }
  }
//============================   6   ===============================///
  if(0==KEY6)
  {
      KEY_DELAY_MS(10);
      if(0==KEY6)
      {
        
        
        i=0;while((0==KEY6)&&(i<50)){i++;KEY_DELAY_MS(10);}
      }
  }
//================================================================//
  if(0==KEY7)
  {
      KEY_DELAY_MS(10);
      if(0==KEY7)
      {
        
        
        i=0;while((0==KEY7)&&(i<50)){i++;KEY_DELAY_MS(10);}
      }
  }
//=================================================================//
}
***************************************************************************/














相关帖子

沙发
Tennasi|  楼主 | 2015-11-21 19:01 | 只看该作者
按键控制LED点亮熄灭程序

3.KEY.zip

1.69 MB

使用特权

评论回复
板凳
quray1985| | 2015-11-22 17:10 | 只看该作者
这个按键程序有没有长按和短按之分啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

169

帖子

1

粉丝