Air105 核心板提供了对LCD显示屏的支持,当然所支持的型是有一定范围,其支持的显示屏有: 1)基于st7735的1.8寸TFT显示屏 2)基于st7789的1.54寸TFT显示屏 3)基于st7735v的0.96寸TFT显示屏 4)基于gc9306x的2.4寸TFT显示屏 自己手头也有几块显示屏,但与它支持的型号都存在着一定的差异,经测试与修改从中实现了2款显示屏的驱动。其使用的引脚如图1所示,其具体的对应关系如下: VCC--3.3V GND--GND SCL--PC15/HSPI_SCK SDA--PC13/HSPI_MOSI RES--PC12/HSPI_MISO DC--PE08/U3_RX CS--PC14/HSPI_CS BL--PE09/U3_TX 图1 使用引脚
手中这块2.4寸的TFT屏,其核心芯片为ili9341,故其初始化的过程使用的是如下语句: lcd.init("ili9341",{port = "device",pin_dc = pin.PE08 , pin_pwr = pin.PE09, pin_rst = pin.PC12, direction = 0,w = 240,h = 320,xoffset = 0,yoffset = 0},spi_lcd) 图2 TFT显示屏 在对程序执行“运行和调试”后,其输出的信息如图3和图4所示。 图3 终端输出信息 图4终端输出信息 通过图3和图4可知,其程序的下载是成功,且支持对芯片ili9341的处理。 为了验证对显示屏驱动的有效性,可使用色彩清屏语句测试,其语句为lcd.clear(0xF800),其效果如图2所示,表明对显示屏的初始化是成功的,且清屏函数有效。 在图片显示语句的情况下,则可获得图5所示的效果,说明显示屏处于竖屏的显示模式。 图5 图片显示 此时,可令direction = 90来切换到横屏的显示模式,见图6所示。由图可以发现,屏上一块灰色的区域,说明其几何参数还不匹配。 图6 横屏显示模式 将参数调整为w = 320,h = 240之后,就可得到正确的效果,见图7所示。 图7 匹配后的效果 此外,还可以测试图形的绘制效果,见图8所示。 相应的绘制语句为: lcd.drawLine(20,120,150,120,0x001F) lcd.drawRectangle(20,140,120,170,0xF800) lcd.drawCircle(50,150,20,0x0CE0) 图8 图形绘制
手中的LCD屏,其核心芯片为st7735s,其初始化的过程使用的是如下语句: lcd.init("st7735s",{port = "device",pin_dc = pin.PE08, pin_pwr = pin.PE09, pin_rst = pin.PC12, direction = 2,w = 160,h = 80,xoffset = 0,yoffset = 0},spi_lcd) 图9 LCD显示屏 在使用图片显示语句lcd.showImage(0,0,"/luadb/J.jpg")的情况下,其显示效果如图10所示。 图10 图片显示 你为什么会出现不规则的显示边框呢? 经测试分析,仍是参数不匹配产生的问题。将参数调整为xoffset = 1,yoffset = 26之后,就可得到正确的效果,见图11所示。 图11 正确显示效果
图12 显示文字 为此就实现了这2款屏的显示驱动,使得开发板所支持的显示屏类型又有了新的丰富。 |
只有小组成员才能发言,加入小组>>
【合宙Air780E开发板趣味应用】Air780E开发板方言打麻将
3037 浏览 0 评论
7014 浏览 0 评论
8330 浏览 0 评论
4909 浏览 0 评论
【合宙Air551G双频定位开发板试用体验】Part2:与其他定位模块进行对比
41194 浏览 0 评论