屏幕模组调试程序

概述

这是基于rt-thread的rt driver驱动框架的屏幕刷新显示,以及触控的数据读取打印程序。

适用于屏幕驱动以及触控驱动的调试和测试。

屏幕上能看到每3秒钟变化一次显示内容:

  • Color bar 8种渐变色(白色、灰色、红、绿、蓝、青色、紫色、黄色),每种渐变色都从黑色逐渐过渡而来。

  • 纵向灰度渐变色( 每256行循环1次)

  • 纯色(红、绿、蓝、白、黑色)

main函数

main函数创建了2个线程:

  • LCD屏幕的刷新线程

  • 触控读取线程

1. LCD屏幕的刷新线程

  1. 打开lcd rt device

  2. 获取搜索到的屏幕信息,并打印其宽度、高度、设置的颜色位深、刷屏的像素对齐要求信息

  3. 填充framebuffer(见概述描述)

  4. 将framebufer刷到屏幕上

  5. 等刷屏完成后,设置背光亮度

  6. 等待3秒钟

  7. 如果是ramless屏幕,切换到另外一个framebuffer

  8. 跳到第3步

framebuffer相关

颜色格式定义 FB_COLOR_FORMAT 默认是24bit 颜色格式的每个像素字节数 FB_PIXEL_BYTES 默认是3

ramless屏幕为了防止填充的时候,framebuffer被刷新,所以定义了framebuffer2,在显示的时候会交替使用,防止填充和刷屏冲突。

2. 触控读取线程

  1. 打开touch rt device,

  2. 设置触控中断触发函数tp_rx_indicate,去释放信号量

  3. 在while循环里面如果拿到了信号量,就去读取触控数据,并将其打印在串口上。