打印
[技术问答]

EMWIN实体按键跟触摸屏的问题

[复制链接]
2608|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Hi111|  楼主 | 2019-5-17 11:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
添加实体按键之前的代码,运行电阻触摸屏是OK的。现在添加按键之后,按键能实现功能,但是触摸没作用。
添加的按键代码:

void Taskkpi(void)
{
        if(ucKeyCode != KEY_NONE)
        {
                switch (ucKeyCode)
                {
                       
                        case KEYPAD_NUM1:                         /* K3键按下,实现TAB按键的功能*/
                                GUI_SendKeyMsg(GUI_KEY_TAB, 1);
                                //GUI_StoreKeyMsg(GUI_KEY_TAB, 1);
                                break;

                        case KEYPAD_NUM2:                        /* 摇杆UP键按下,实现删除光标后的字符 */
                                GUI_SendKeyMsg(GUI_KEY_DELETE, 1);
                                break;

                        case KEYPAD_NUM3:                        /* 摇杆DOWN键按下,实现删除光标前的字符 */
                                GUI_SendKeyMsg(GUI_KEY_BACKSPACE, 1);
                                break;

                        case KEYPAD_NUM4:                        /* 摇杆LEFT键按下,实现光标左移 */
                                GUI_SendKeyMsg(GUI_KEY_LEFT, 1);
                                break;

                        case KEYPAD_NUM5:                        /* 摇杆RIGHT键按下,实现光标右移 */
                                GUI_SendKeyMsg(GUI_KEY_RIGHT, 1);
                                break;

                        case KEYPAD_NUM6:                        /* 摇杆OK键按下,发送GUI_KEY_ENTER消息,会被聚焦的按钮或者
                                                       WM_KEY消息所接受并处理,功能都是关闭对话框。*/
                                GUI_SendKeyMsg(GUI_KEY_ENTER, 1);
                                break;

                        default:
                                /* 其它的键值不处理 */
                                break;
                }
        ucKeyCode = KEY_NONE;
        }
}
void _cbTimer(GUI_TIMER_MESSAGE * pTM)
{
       
        switch (pTM->Context)
        {
                case 0x00:
                        #ifdef _KPI_NONBLOCK_
                        ucKeyCode = kpi_read(KPI_NONBLOCK);
                        #else
                        ucKeyCode = kpi_read(KPI_BLOCK);
                        #endif               
                        sysprintf("key is %d\n", ucKeyCode);
                        Taskkpi();
                        /* 此函数一定要调用,设置重新启动,要不仅执行一次 */
                        GUI_TIMER_Restart(pTM->hTimer);
                        break;
                default:
                        break;
        }

}
extern GUI_TIMER_HANDLE  CreateGUITimer(void);

GUI_TIMER_HANDLE CreateGUITimer(void)
{
      GUI_TIMER_HANDLE hTimer;
  
          hTimer = GUI_TIMER_Create(_cbTimer,  1000,   0x00,    0);

        GUI_TIMER_SetPeriod(hTimer, 500);

        return hTimer;
}
而触摸:
    sysSetTimerEvent(TIMER0, 20, (PVOID)TMR0_IRQHandler_TouchTask); /* 20 ticks  call back */

1、串口的打印信息可以打印出TMR0_IRQHandler_TouchTask里面能识别到被触摸的具体位置,但是没有收到WM_MESSAGE。
2、如果不跑Taskkpi,按键主板能打印到KeyCode的值,触摸这边也能产生正确的WM_MESSAGE。

麻烦大家帮忙分析一下,具体是哪里有问题?

使用特权

评论回复
沙发
zhuotuzi| | 2019-5-18 00:16 | 只看该作者
这是哪个系列的功能啊。

使用特权

评论回复
板凳
zhuotuzi| | 2019-5-18 00:16 | 只看该作者
不清楚你用的哪个系列带的触摸功能。

使用特权

评论回复
地板
dongliushui| | 2019-5-18 22:12 | 只看该作者
480的?官方提供的有这个例子么i

使用特权

评论回复
5
xinxianshi| | 2019-5-19 20:04 | 只看该作者
这是一个第三方的东西吧?

使用特权

评论回复
6
Hi111|  楼主 | 2019-5-20 11:03 | 只看该作者
我用的N9H20系列的,

使用特权

评论回复
7
xinpian101| | 2019-5-21 23:40 | 只看该作者
这个触摸用的什么原理,不需要驱动?

使用特权

评论回复
8
玛尼玛尼哄| | 2019-5-23 23:18 | 只看该作者
屏幕的驱动没有搞对吧

使用特权

评论回复
9
dongliushui| | 2019-5-23 23:54 | 只看该作者
触摸屏的接口程序搞定了没

使用特权

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

本版积分规则

2

主题

5

帖子

0

粉丝