[开发工具] 【新定义MCU开发板测评】NBK-RD8x3x 核心板+EBS003 IOT扩展板按键触控

[复制链接]
 楼主| 比神乐 发表于 2023-1-24 11:54 | 显示全部楼层 |阅读模式
今天捣鼓EBS003按键触控。
原理图:
14.jpg


11.jpg

12.jpg

13.jpg
代码:主程序:
  1. #include "SC_Init.h"        //MCU Init header,Include all IC resource headers
  2. #include "SC_it.h"
  3. #include "..\Drivers\SCDriver_list.h"
  4. #include "HeadFiles\SysFunVarDefine.h"
  5. /**************************************Generated by EasyCodeCube*************************************/

  6. /*************************************.Generated by EasyCodeCube.************************************/
  7. /*****************************************************************************************************
  8. * Function Name: main
  9. * Description  : This function implements main function.
  10. * Arguments    : None
  11. * Return Value : None
  12. ******************************************************************************************************/
  13. void main(void)
  14. {       
  15.     /*** MCU init***/
  16.     SC_Init();
  17.     /*<Generated by EasyCodeCube begin>*/
  18.     /*<UserCodeStart>*//*<SinOne-Tag><9>*/
  19.     TouchKeyInit();
  20.     /*<UserCodeEnd>*//*<SinOne-Tag><9>*/
  21.     /*<UserCodeStart>*//*<SinOne-Tag><10>*/
  22.     while(1)
  23.     {
  24.         /*<UserCodeStart>*//*<SinOne-Tag><14>*/
  25.         if(SOCAPI_TouchKeyStatus & 0x80)
  26.         {
  27.             /*<UserCodeStart>*//*<SinOne-Tag><22>*/
  28.             SOCAPI_TouchKeyStatus &= 0x7f;
  29.             /*<UserCodeEnd>*//*<SinOne-Tag><22>*/
  30.             /*<UserCodeStart>*//*<SinOne-Tag><18>*/
  31.             exKeyValueFlag = TouchKeyScan();
  32.             /*<UserCodeEnd>*//*<SinOne-Tag><18>*/
  33.             /*<UserCodeStart>*//*<SinOne-Tag><35>*/
  34.             UserCode();
  35.             /*<UserCodeEnd>*//*<SinOne-Tag><35>*/
  36.             /*<UserCodeStart>*//*<SinOne-Tag><36>*/
  37.             TouchKeyRestart();
  38.             /*<UserCodeEnd>*//*<SinOne-Tag><36>*/
  39.         }
  40.         /*<UserCodeEnd>*//*<SinOne-Tag><14>*/
  41.     }
  42.     /*<UserCodeEnd>*//*<SinOne-Tag><10>*/
  43.     /*<Generated by EasyCodeCube end>*/
  44. }

用户代码:
  1. #include "SC_Init.h"
  2. #include "SC_it.h"
  3. #include "..\Drivers\SCDriver_list.h"
  4. #include "HeadFiles\SysFunVarDefine.h"
  5. /**************************************Generated by EasyCodeCube*************************************/
  6. /******************************************************************************************************
  7. *用于存放键值的变量(32bit长度的变量)1.该变量0-30bit对应TK键值TK0-TK30的状态:有
  8. *键值则对应bit会置1,无键则对应bit为0
  9. ******************************************************************************************************/
  10. unsigned long exKeyValueFlag = 0;
  11. ////用户应用层函数编写(可修改)1.键值处理逻辑2.应用层逻辑实现
  12. void UserCode()
  13. {
  14.     /*<UserCodeStart>*//*<SinOne-Tag><23>*/
  15.         if((exKeyValueFlag&0x00000004)==0x00000004)
  16.                 GPIO_WriteHigh(GPIO1,GPIO_PIN_4);
  17.         else
  18.                 GPIO_WriteLow(GPIO1, GPIO_PIN_4);
  19.         if((exKeyValueFlag&0x00000008)==0x00000008)
  20.                 GPIO_WriteHigh(GPIO1,GPIO_PIN_5);
  21.         else
  22.                 GPIO_WriteLow(GPIO1, GPIO_PIN_5);
  23.     /*<UserCodeEnd>*//*<SinOne-Tag><23>*/
  24. }
两个触控按键。按下左边的触控按键,L1灯亮,释放灯灭。按下右边的触控按键,L2灯亮,释放灯灭。
效果图:
15.jpg 16.jpg 17.jpg
heisexingqisi 发表于 2023-1-25 20:35 | 显示全部楼层
按键测试。
Wordsworth 发表于 2023-4-21 12:46 | 显示全部楼层
if((exKeyValueFlag&0x00000004)==0x00000004)
这段代码可以精简一点,写成这样 if(exKeyValueFlag&0x00000004)也是可以的
 楼主| 比神乐 发表于 2023-4-22 07:04 | 显示全部楼层
Wordsworth 发表于 2023-4-21 12:46
if((exKeyValueFlag&0x00000004)==0x00000004)
这段代码可以精简一点,写成这样 if(exKeyValueFlag&0x0000 ...

你说得对
nomomy 发表于 2023-5-5 22:21 | 显示全部楼层
扩展触模显示器可触控吗               
youtome 发表于 2023-5-5 23:35 | 显示全部楼层
物理按键和触控按键有什么区别?              
albertaabbot 发表于 2023-5-7 16:07 | 显示全部楼层
到底是触控按键,还是物理按键              
lzbf 发表于 2023-5-7 16:21 | 显示全部楼层
辅助触控怎么用              
 楼主| 比神乐 发表于 2023-5-7 20:45 | 显示全部楼层
albertaabbot 发表于 2023-5-7 16:07
到底是触控按键,还是物理按键

触控按键
您需要登录后才可以回帖 登录 | 注册

本版积分规则

470

主题

3535

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部

470

主题

3535

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部