HLK

HLK

HLK-W801-LVGL8之触摸驱动

  • 前言
    • 触摸驱动实现
    • 驱动芯片SPI接口
    • XPT2046驱动接口
    • 显示截图

前言

本篇完成最后一部的触摸驱动移植
前面两部分:
第一部分:HLK-W801-LVGL8之源码移植
第二部分:HLK-W801-LVGL8之LCD驱动

触摸驱动实现

针对触摸驱动,在源码demo中也有关于驱动芯片的实现,这里直接使用XPT2046的相关源代码;
结合驱动XPT2046.c/h的实现,具体只需完成 xpt2046_init()和xpt2046_read()两个接口的编写调试工作,平台驱动主要为SPI驱动,完成lv_drv_conf.h中输入设备的驱动接口:

#define LV_DRV_INDEV_IRQ_READ    // 读取触摸笔中断信号电平
#define LV_DRV_INDEV_SPI_CS(val)   //  使能SPI slave
#define LV_DRV_INDEV_SPI_XCHG_BYTE(val) // SPI总线数据读写

驱动芯片SPI接口

  1. 首先是平台SPI驱动的初始化,需要配置SPI接口(速率,时钟极性/相位,CS使能)
    查询XPT2046了解到其数据接口的时序图:
  • 通过DCLK与数据IO的示意图,可以确定CPOL=0(空闲状态为低电平)CPHA=0(第一个边沿数据采样有效);
  • tACQ最小值为1.5us,这里设置SPI时钟为1MHz
  1. 结合WM 801的SDK提供的host spi接口,可以直接利用,很方便就完成关于触摸屏spi接口的初始化及数据访问接口
  2. 完成 lv_drv_conf.h中输入设备的驱动接口;由于SDK自带的SPI驱动中已包含CS的自动控制,这里的片选的手动控制就不需要实现了;

XPT2046驱动接口

  1. 根据原来XPT2046的驱动实现,根据驱动配置要求和读写数据实现,初始化时先第一次读取XY值,之后PEN输出使能;

  2. 读坐标操作为定时轮询,默认为30ms执行读取坐标操作;SPI驱动支持读取坐标直接获取16bits数据,对原来驱动做了这点修改
  3. 此外,测试调试中发现XY位置相反,需修改lv_drv_conf.h中的驱动配置;
     #define XPT2046_XY_SWAP     1
    
  4. 最后在gui任务中调用lv_touchpad_init()与lv_port_indev_init()就完成了触摸驱动的初始化,到已经全部完成关于显示和触摸驱动就完成了移植工作

显示截图



发布者:admin,转转请注明出处:http://www.yc00.com/news/1689056413a200993.html

相关推荐

  • HLK

    2023-7-11
    150
  • windows USB 设备驱动开发- USB 的 HLK 测试

    Windows 硬件实验室工具包 (HLK) 测试可用于系统、USB 主机控制器、集线器和设备的其他测试。 这些测试涵盖基本设备功能、可靠性和与 Windows 的兼容性。 先决条件 在开始运行徽标测试之前,请确保

    2月前
    90

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信