【教程】小安派BW21-CBV-Kit——驱动 ILI9341 TFT 显示屏

[复制链接]
查看97 | 回复2 | 5 天前 | 显示全部楼层 |阅读模式

用料

示例

我们测试了以下两种带 SPI 接口的 ILI9341 TFT LCD 型号:

带 SPI 接口的 ILI9341 TFT LCD 的常用引脚:

  • MOSI:标准 SPI 主机输出从机输入引脚
  • MISO:标准 SPI 主机输入从机输出引脚
  • SLK: 标准 SPI 时钟引脚
  • CS:标准 SPI 片选引脚
  • RESET: 用于重新启动 LCD
  • D/C: 数据/命令。 当它处于低电平时,传输的信号为命令,否则传输的数据为数据。
  • LED(或 BL): 调整屏幕背光。 可由 PWM 控制或连接至 VCC 以获得 100% 的背光。
  • VCC: 连接至 3V 或 5V,取决于其规格。
  • GND:连接至 GND。

BW21-CBV-Kit 和 QVGA TFT LCD 接线图:

image.png

BW21-CBV-Kit 和 Adafruit 2.8" TFT LCD 触摸屏接线图:

image.png

请注意

该屏幕型号默认启用背光,第 8 引脚不用于背光,VCC 应连接至 5V。

打开示例,"文件" -> "示例" -> "AmebaSPI"->"LCD_Screen_ILI9341_TFT"。

image.png

编译并上传到 BW21-CBV-Kit,然后按下重置按钮。

然后就可以看到液晶屏上出现一些显示测试,如显示不同颜色、绘制垂直线和水平线、画圆等.....

image.png此外,它还可以根据屏幕尺寸显示任何用户图像。 这里的在线图像转换工具支持以 png、。jpg 和 。gif 格式输入图像,以 。c 文件形式输出。 转换完成后,将 。c 文件放入我们的模板 Amebalogo.h 文件中,然后再次上传代码。

image.png

image.png

代码参考

  • RGB 16-bit ILI9341 使用 RGB 16 位来显示颜色。 与 RGB 24 位不同,它使用 5 位红色、6 位绿色和 5 位蓝色。 例如,天蓝色的 RGB 24 位表示法是 0x87CEFF,即二进制:

    • 红: 0x87 = B10000111
    • 绿: 0xCE = B11001110
    • 蓝: 0xFF = B11111111

并转换为 RGB 16 位:

  • 红: B10000
  • 绿: B110011
  • 蓝: B11111

然后将它们连接起来,形成 B1000011001111111 = 0x867F

  • Drawing of ILI9341

    • 首先必须指定要绘制的矩形范围,然后将每个像素对应的 2 字节 RGB 16 位颜色逐一传递给 ILI9341,这样 ILI9341 就会将每种颜色填充到每个像素上。
    • 即使绘图范围只覆盖一个像素,您仍然必须指定绘图范围。
    • 根据上述规则,我们可以得出结论:画垂直线或水平线比画对角线快。
  • Printing text on ILI9341

    • 在我们的应用程序接口中,每个字符的大小是 5x7,但每个字符都打印成 6x8(其右侧和下方留空),以便与下一个字符分开。 例如,字符 "A":

      image.png

    • 字体大小表示点的大小。 例如,如果字体大小为 2,字符中的每个点就是一个 2x2 的矩形

  • 屏幕旋转

    • ILI9341 提供 0、90、180 和 270 度屏幕旋转功能。
    • 如果原始宽度为 240,原始高度为 320,当屏幕旋转 90 度时,宽度变为 320,高度变为 240。
用心做好保姆工作
回复

使用道具 举报

ST7789也支持一下
回复 支持 反对

使用道具 举报

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则