打印
[开发板与模块]

【ESK32-30519 + ESK32-21001测评】+触摸键测试设置处理

[复制链接]
1238|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 jinglixixi 于 2022-10-6 18:02 编辑

在核心板上配有6个触摸按键,在进行参数设置时会面临这样的问题,即若每个触摸键对应一个数符的话,其按键数量显然是不够用的,为此最后是以增减数值的方式来实现,即分配4个键,分别用于+1-1、移位及确认处理。那是否在例程的基础上就能轻松地来实现呢?其实并非如此简单,因为例程是为功能演示而设计的,若直接在它的基础上进行功能修改,会出现+1键或-1键在按下后,快速多次更改数值的情况。也就是说它缺少一个判别按键释放的过程,从而被视为是该按键是按下了多次的问题。解决该问题的主程序如下:
int main(void){
    u8 showNumber0=0;
    GPIO_Configuration();
    LEDC_Configuration();
    RTC_Configuration();
    BFTM_Configuration();
    TKL_Configuration();
    #ifdef  HXT_UART_DEBUG
    TKL_USART_Configuration();
    #endif
    LEDC_SetData(HTCFG_LEDC_COM_D4,  NumberChar[0]);
    showNumber0=0;
    f=1;
    while(f){
                       if(gIsUpdateChar)
                       {
                            LEDC_SetData(HTCFG_LEDC_COM_D4,  NumberChar[showNumber0]);
                            gIsUpdateChar = FALSE;
                        }
                        Touch_Key_Main_Function();
                        if(TKL_Is_KeyPress(16))  // PAD2
                        {
                                if(showNumber0>0) showNumber0=showNumber0-1;
                                else  showNumber0=9;
                                while(TKL_Is_KeyPress(16))
                                {
                                    Touch_Key_Main_Function();
                                }
                        }
                        if(TKL_Is_KeyPress(17))  // PAD1
                           {
                                if(showNumber0<9)showNumber0=showNumber0+1;
                                else showNumber0=0;
                                while(TKL_Is_KeyPress(17))
                                {
                                    Touch_Key_Main_Function();
                                }
                        }
                        if(TKL_Is_KeyPress(22))   // PAD4
                        {
                                n=n%100;
                                n=n*10+showNumber0;
                                LEDC_SetData(HTCFG_LEDC_COM_D1,  NumberChar[n%1000/100]);
                                LEDC_SetData(HTCFG_LEDC_COM_D2,  NumberChar[n%100/10]);
                                LEDC_SetData(HTCFG_LEDC_COM_D3,  NumberChar[n%10]);
                                showNumber0=0;
                                LEDC_SetData(HTCFG_LEDC_COM_D4,  NumberChar[showNumber0]);
                                while(TKL_Is_KeyPress(22))
                                {
                                    Touch_Key_Main_Function();
                                }
                        }
                        if(TKL_Is_KeyPress(24))   // PAD6
                        {
                                while(TKL_Is_KeyPress(24))
                                {
                                    Touch_Key_Main_Function();
                                }
                                n=n*10+showNumber0;
                                f=0;
                        }
          }
          while (1){
          if(gIsUpdateChar)
          {
                 LEDC_SetData(HTCFG_LEDC_COM_D1,  NumberChar[n/1000]);
                 LEDC_SetData(HTCFG_LEDC_COM_D2,  NumberChar[n%1000/100]);
                 LEDC_SetData(HTCFG_LEDC_COM_D3,  NumberChar[n%100/10]);
                 LEDC_SetData(HTCFG_LEDC_COM_D4,  NumberChar[n%10]|0X02);
                 gIsUpdateChar = FALSE;
          }
        }
}




其中,相应触摸键的功能设置如下:
PAD1+1(增1键)
PAD2-1(减1键)
PAD4<-(移位键)
PAD6CR(确认键)
经程序的编译和下载,其运行效果如图1至图3所示。为了便于观察确认后的效果,特在设置值的后面配上了一个小数点以示完成处理。此外,增减键是在数值0~9之间来递变的。移位键的功能则是使设置值向左移动,即数值增大10倍。
1  设置数值
2  移位处理
3  完成设置





使用特权

评论回复

相关帖子

沙发
chenqianqian| | 2022-10-9 18:52 | 只看该作者
屏怎么是白的?没有做驱动?

使用特权

评论回复
板凳
jinglixixi|  楼主 | 2022-10-10 10:14 | 只看该作者
chenqianqian 发表于 2022-10-9 18:52
屏怎么是白的?没有做驱动?

哦,当时没使用,免的用时再连线没拆去显示屏。

使用特权

评论回复
地板
xu@xupt| | 2022-12-10 13:36 | 只看该作者
学习啦,感谢分享

使用特权

评论回复
5
LEDyyds| | 2022-12-28 10:35 | 只看该作者
触摸按键是采集电压值吗,准不准

使用特权

评论回复
6
jinglixixi|  楼主 | 2022-12-29 00:34 | 只看该作者
LEDyyds 发表于 2022-12-28 10:35
触摸按键是采集电压值吗,准不准

很灵敏,以致怕近邻的影响。

使用特权

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

本版积分规则

455

主题

2756

帖子

38

粉丝