1.      校准

无论是电阻屏(RTP)还是电容屏(CTP),都需要校准(CTP本来不需要校准,但是考虑到坐标与图片对应关系,校准后能准确使用触摸功能),EVE自带校准功能,对应的命令是CMD_CALIBRATE。校准程序从屏幕中收集三个触摸点,然后通过计算并写入到寄存器REG_TOUCH_TRANSFORM_A - REG_TOUCH_TRANSFORM_F。这些都是FT8xx自动完成,用户仅需执行CMD_CALIBRATE指令并点击三个触摸点就可以实现校准功能。

CMD_CALIBRATE指令格式如下:

+0 CMD_CALIBRATE(0xffffff15)
+4 result

      ftStartDisp();

      ftWrDispCmd(CLEAR_COLOR_RGB(0x00, 0x0, 0x0));

      ftWrDispCmd(CLEAR(1, 1, 1));

      ftWrDispCmd(COLOR_RGB(255, 255, 255));

      ftCoCmdText(LCD_WIDTH / 2, LCD_HEIGHT / 2, 27, OPT_CENTER, "Please tap on the dot");

      ftWrDispCmd(CMD_CALIBRATE);

      ftWrDispCmd(0);

      ftEnDisp(FALSE);

      do{

}while (ft8xxRdMem16(REG_CMD_READ) != ft8xxRdMem16(REG_CMD_WRITE));

首先显示一下校准的提示信息,最后的do while是等待校准结束,如果用户没有输入3个触摸点,程序将一直等待。

如果已知校准值,可以通过写寄存器REG_TOUCH_TRANSFORM_A - REG_TOUCH_TRANSFORM_F完成初始化。

 EVE-11 Touch(触摸功能)

2.      REG_TOUCH_SCREEN_XY

触摸点的X、Y坐标,低16位为Y坐标,高16位为X坐标。当没有按键时,X,Y均为0x8000。

read = ft8xxRdMem32(REG_TOUCH_SCREEN_XY);

x = (uint16_t)((read >> 16) & 0x7fff);

y = (uint16_t)((read >> 0) & 0x7fff);

3.      TAG

给要显示的对象赋予一个标签值,当该对象被触摸时直接返回该标签值,这样用户无需判断坐标来确定该对象是否有被触摸。

例如给一个矩形增加TAG功能。

ftWrDispCmd(TAG(2));

ftWrDispCmd(BEGIN(RECTS));

ftWrDispCmd(COLOR_RGB(255, 255, 255));

ftWrDispCmd(LINE_WIDTH(2 * 16));

ftWrDispCmd(VERTEX2F((PANEL_WIDTH / 2 - 180) * 16, (PANEL_HEIGHT / 2 - 20) * 16));

ftWrDispCmd(VERTEX2F((PANEL_WIDTH / 2 - 120) * 16, (PANEL_HEIGHT / 2 + 20) * 16));

命令TAG(n)是设置TAG的命令,有效值是1-255,当设置TAG后,接下来的所有显示对象均会被标记该TAG,除非关闭TAG或者另外设置TAG值。

TAG功能由命令TAG_MASK控制开关,TAG_MASK(1)表示开,TAG_MASK(0)表示关。所以上面的例子需要在TAG命令前增加一条指令:

ftWrDispCmd(TAG_MASK(1));

读寄存器REG_TOUCH_TAG可以得到当前触摸的TAG值。如上图,当触摸到TAG为2的矩形时读到的TAG值会是2,否则为0。

 

4.      配置触摸压力(仅对电阻屏)

对于电阻屏需要配置触摸灵敏度,即对触摸压力的敏感度进行配置。

ft8xxWrMem16(REG_TOUCH_RZTHRESH, TOUCH_SENSITIVITY);

寄存器REG_TOUCH_RZTHRESH配置压力值,该值越大触摸越灵敏。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-01-29
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-05-17
  • 2021-08-08
  • 2021-07-28
  • 2021-06-01
  • 2021-08-10
  • 2021-09-23
  • 2022-12-23
相关资源
相似解决方案