二.触摸功能开启
这里与显示的开启大差不差,就作简略写。
1、启用 "lv_port_indev.h"
原:#if 0, 修改成:#if 1
原:"lvgl / lvgl.h", 修改成:"lvgl.h"
2、启动 "lv_port_indev.c"
原:#if 0, 修改为:#if 1
原:“lv_port_indev_template.h", 修改为:"lv_port_indev.h"
原:"../../lvgl.h",修改为:"lvgl.h"
3、添加 触屏 的驱动头文件
紧接着找到触摸注册函数void lv_port_indev_init(void)
紧接着找到触摸注册函数void lv_port_indev_init(void)
Touchpad(触屏) |
Mouse(鼠标) |
Keypad(键盘) |
Encoder(编码器) |
Button(按钮) |
选择其中需要的进行注册,其余注释掉。
然后向下,在209行左右有一个触摸检测函数static bool touchpad_is_pressed(void),返回布尔值
向其中添加LCD触摸检测驱动,返回值要求:0-未按下、1-按下;同时注释掉原先的return false。
往下static void touchpad_get_xy(lv_coord_t * x, lv_coord_t * y)添加坐标获取函数
例如:static void touchpad_get_xy(lv_coord_t * x, lv_coord_t * y)
{
/*Your code comes here*/
(*x) = XPT2046_GetX();
(*y) = XPT2046_GetY();
}
至此,触摸的开启全部完成。