对于山外的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);}
}
}
//=================================================================//
}
***************************************************************************/
|