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);              //延时等待
	
}

}

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: FreeRTOS是一个专为嵌入式系统设计的开源实时操作系统。它采用轻量级的设计,具有可移植性强、占用资源少和可靠性高的特点,非常适合于处理资源有限的嵌入式环境。 TC264是Infineon Technologies公司推出的一个高性能汽车微控制器系列。它基于TriCore架构,集成了高性能的RISC处理器、DSP和可编程周边单元,具备强大的计算和控制能力。 FreeRTOS TC264是FreeRTOS针对TC264系列微控制器进行了优化和适配的版本。通过使用FreeRTOS TC264,开发者可以更加轻松地在TC264上开发实时应用程序,充分发挥TC264的计算和控制能力。它提供了任务调度、时间管理、信号量、消息队列等常用的实时操作系统功能,可以帮助开发者更好地利用TC264的硬件资源,提高系统性能和响应能力。 FreeRTOS TC264具有良好的可移植性,可以方便地移植到其他支持FreeRTOS的微控制器上。这使得开发者可以在不同的嵌入式平台上复用他们的代码,提高开发效率。 总而言之,FreeRTOS TC264是一个适用于Infineon TC264系列微控制器的实时操作系统。它具备可移植性强、资源占用小和可靠性高的特点,可以帮助开发者更好地利用TC264的硬件资源,提高系统性能和响应能力。 ### 回答2: FreeRTOS是一个开源的实时操作系统内核,被广泛应用于嵌入式系统中。TC264是一款汽车领域常用的高性能微控制器,由英飞凌(Infineon)公司开发。那么,FreeRTOS TC264是指在TC264微控制器上使用FreeRTOS实时操作系统。 使用FreeRTOS TC264可以带来以下几个优势。 首先,FreeRTOS TC264提供了一套强大的任务调度器,可以将系统的不同任务分配到不同的处理器核心上,充分利用TC264微控制器的多核架构,提高系统的并行处理能力,从而提高系统的性能。 其次,FreeRTOS TC264提供了丰富的任务管理和通信机制,包括任务创建、删除、挂起、恢复、同步等功能,可以方便地进行任务的管理和调度。同时,还提供了消息队列、信号量、互斥量等通信机制,用于不同任务之间的数据交换和共享,实现多任务协同工作。 另外,FreeRTOS TC264还具备可移植性强的特点,可以在不同的硬件平台上使用。通过配置和适配,可以轻松地移植到TC264微控制器上,充分发挥TC264的性能优势。 最后,FreeRTOS TC264还提供了一系列的实时性能指标和监测工具,可以对系统进行性能分析和优化,确保系统能够满足实时性要求。 总之,FreeRTOS TC264是在TC264微控制器上使用FreeRTOS实时操作系统,可以提供强大的任务调度、任务管理和通信机制,提高系统的性能和可移植性,同时提供实时性分析和优化工具,适用于需要实时操作系统的嵌入式系统开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值