[MCU] 【GD32E503评测】02.玩转TFT液晶屏之字符串显示

caizhiwei   2021-1-14 21:35 楼主

1. 关于GD32F2系列的TFT-LCD驱动器

    TFT(LCD)显示接口提供并行数字RGB(红色,绿色,蓝色)以及水平同步,垂直同步,像素时钟和时钟使能信号,这些信号直接输出到不同的LCD(液晶显示屏)和TFT面板(薄膜晶体管)的接口。

GD32E5内置TFT-LCD驱动器特性

24位并行像素输出;每像素8位(RGB888)

2个带有专用FIFO的显示层(64x32位)

查色表(CLUT)每层达到256种颜色(256x24位)

支持高达SVGA(800x600)的分辨率

可针对不同显示面板编程时序

可编程背景色

可编程HSync,VSync和数据使能信号的极性

每层多达8种输入颜色格式可供选择

每通道的低位采用伪随机抖动输出

使用alpha值(每像素或常数)在两层之间灵活的混合

色键(透明颜色)

可编程窗口位置和大小

图像分辨率达800x600

当一层使能ARGB格式时像素时钟和HCLK一样快

      总体来讲,作为当前市场最高性能的基于Cortex-M3内核的MCU产品,GD32F2系列提供了卓越的闪存缓存和连接能力方案。GD32E5系列MCU以先进的缓存架构配置了两个独立的SRAM存储器,可支持不同的总线上的主设备同时访问。

     首次配备的支持访问外部SDRAM内存的32位总线接口EXMC,能够以更高的性价比灵活方便的进行大容量数据缓冲扩展与高级界面控制。GD32E5还内置了TFTLCD控制器从而直接驱动液晶屏,最高可以支持SVGA7吋800x600像素的RGBTFT显示。另外还集成了8位至14位的Camera视频接口,便于连接数字摄像头并实现图像采集与传输。

 

驱动采用官方自带的历程进行:

1. LCD初始化:

	/* configure the EXMC access mode */
    exmc_lcd_init();	
    /* initialize the LCD */
    lcd_init();

2.  显示字符串:

    /* clear the LCD screen */
    lcd_clear(LCD_COLOR_WHITE);

	uint8_t len_s;
	char *str;
	uint16_t i;
	
	char_format_struct char_format;
	
	char error_string[]="Hello,EEWORLD!";
	
    /* draw character on LCD screen */
    len_s = sizeof(error_string)-1;
    str = error_string;

    /* configure char format */
    char_format.char_color = LCD_COLOR_BLUE;
    char_format.bk_color = LCD_COLOR_WHITE;
    char_format.direction = CHAR_DIRECTION_VERTICAL;
    char_format.font = CHAR_FONT_16_24; 
	
    for (i = 0; i < len_s; i++)
	{
        lcd_char_display((16*i), 10, *str++, char_format);
    }
	

显示效果:

微信图片_20210114212119.jpg

gitee/casy

回复评论 (6)

赞一个!
点赞  2021-1-14 21:36

谢谢分享,期待后续。

默认摸鱼,再摸鱼。2022、9、28
点赞  2021-1-14 22:16

我今天也要写一篇,有屏幕的开发板就是好,都不用自己外接屏幕哈!

点赞 (1) 2021-1-15 21:04
引用: w494143467 发表于 2021-1-15 21:04 我今天也要写一篇,有屏幕的开发板就是好,都不用自己外接屏幕哈!

共同学习进步

gitee/casy
点赞  2021-1-15 21:25
引用: caizhiwei 发表于 2021-1-15 21:25 共同学习进步

哈哈,我也写了一篇,不过没有改代码,讲解的例程。

点赞  2021-1-15 21:45

谢谢分享,官方附带了LCD 跟ram的驱动示例代码,简直不要太方便。

点赞  2021-1-23 23:11
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复