TC264—按键操作笔记

1.按键初始化

三个按键、两个拨码开关
void GPIO_KEY_Init(void)
{
// 初始化,输入口,高电平
PIN_InitConfig(KEY0p, PIN_MODE_INPUT, 1);
PIN_InitConfig(KEY1p, PIN_MODE_INPUT, 1);
PIN_InitConfig(KEY2p, PIN_MODE_INPUT, 1);
PIN_InitConfig(DSW0p, PIN_MODE_INPUT, 1);
PIN_InitConfig(DSW1p, PIN_MODE_INPUT, 1);
}

#pragma warning 544 // 屏蔽警告

2.按键操作

按键编码
/*************************************************************************

  • 函数名称:unsigned char KEY_Read_All(void)

  • 功能说明:读取全部按键状态

  • 参数说明:无

  • 函数返回:按键组合状态,0–7八种状态

  • 修改时间:2020年3月10日

  • 备 注:读取三个按键状态,方便组合键使用
    *************************************************************************/
    unsigned char KEY_Read_All(void)
    {
    unsigned char tm=0;

    tm = (PIN_Read(KEY0p)|(PIN_Read(KEY1p)<<1)|(PIN_Read(KEY2p)<<2));//读取各个按键状态并编码
    if(tm==0x07)
    {
    return 0;
    }
    // while(tm == (PIN_Read(KEY0p)|(PIN_Read(KEY1p)<<1)|(PIN_Read(KEY2p)<<2)));//等待按键释放

    return (~tm)&0X07;
    }

按键切换显示
void Test_ComKEY_Tft(void)
{
unsigned char k=0xFF;

TFTSPI_Init(0);        //LCD初始化  0:横屏  1:竖屏
TFTSPI_CLS(u16BLUE);   //蓝色屏幕
TFTSPI_Show_Logo(0,37);//显示龙邱LOGO
TFTSPI_P16x16Str(0,0,"北京龙邱智能科技",u16RED,u16BLUE);		//字符串显示
TFTSPI_P8X16Str(0,1,"Long Qiu i.s.t.",u16WHITE,u16BLACK);		//字符串显示
delayms(1000);              //延时等待
TFTSPI_Init(1);        //LCD初始化  0:横屏  1:竖屏
TFTSPI_CLS(u16BLACK);   //黑色屏幕
TFTSPI_P8X16Str(0,1,"KEY Pressed:  ",u16WHITE,u16BLACK);		//字符串显示

GPIO_KEY_Init();
while(1)
{

	k= KEY_Read_All();
	switch(k)
	{
	  case NOKEYDOWN:
		 //TFTSPI_P8X16Str(35,3,"NO key!  ",u16WHITE,u16BLACK);		//字符串显示
	  break;
	  case KEY0DOWN:
	 	 TFTSPI_P8X16Str(35,3,"KEY0!    ",u16WHITE,u16BLACK);		//字符串显示
	  break;
	  case KEY1DOWN:
	 	 TFTSPI_P8X16Str(35,3,"KEY1!    ",u16WHITE,u16BLACK);		//字符串显示
	  break;
	  case KEY2DOWN:
	 	 TFTSPI_P8X16Str(35,3,"KEY2!    ",u16WHITE,u16BLACK);		//字符串显示
	  break;
	  case KEY01DOWN:
		 TFTSPI_P8X16Str(35,3,"KEY0&1!  ",u16WHITE,u16BLACK);		//字符串显示
	  break;
	  case KEY02DOWN:
	 	 TFTSPI_P8X16Str(35,3,"KEY0&2!  ",u16WHITE,u16BLACK);		//字符串显示
	  break;
	  case KEY12DOWN:
	 	 TFTSPI_P8X16Str(35,3,"KEY1&2!  ",u16WHITE,u16BLACK);		//字符串显示
	  break;
	  case KEY012DOWN:
	 	 TFTSPI_P8X16Str(35,3,"KEY0&1&2!",u16WHITE,u16BLACK);		//字符串显示
	  break;
	  default:
	  break;
	 }
	LED_Ctrl(LED0,RVS);        //四个LED同时闪烁
	delayms(100);              //延时等待
	
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值