各位老师好,我在使用LVGL初始化输入设备时,发现触摸屏的回调函数无法触发。
初始化函数与官方的相同,如下:
void lv_port_indev_init(void)
{
static lv_indev_drv_t indev_drv;
touchpad_init();
lv_indev_drv_init(&indev_drv);
indev_drv.type = LV_INDEV_TYPE_POINTER;
indev_drv.read_cb = touchpad_read;
indev_touchpad = lv_indev_drv_register(&indev_drv);
}
在触摸时触摸回调函数touchpad_read无法进入,
static void touchpad_read(lv_indev_drv_t * indev_drv, lv_indev_data_t * data)
{
static lv_coord_t last_x = 0;
static lv_coord_t last_y = 0;
xil_printf("touchpad_read is ............\r\n");
if(touchpad_is_pressed()) {
touchpad_get__xy(&last_x, &last_y);
data->state = LV_INDEV_STATE_PR;
}
else {
data->state = LV_INDEV_STATE_REL;
}
data->point.x = last_x;
data->point.y = last_y;
}
因为我加的一条打印没有打印出来
xil_printf("touchpad_read is ............\r\n");
获取坐标信息我采用的是IIC驱动,点击触摸屏,IIC能正常获取屏幕的坐标信息。但是这个回调函数无法进入是因为啥,麻烦老师有空给解答一下。