首页 > 技术支持 > 应用与案例 > 正文
RAIO开发板及DEMO例程关于屏的初始化 作者:David   发表日期:2021-03-22   来源:   浏览:
本篇文章主要介绍客户在拿到我们的开发板之后怎么正确设置液晶屏的初始化。
关于液晶屏初始化相关的函数在void RA8876_Initial(void)函数中的void Set_LCD_Panel(void),相关宏定义在文件UserDef.h中,如果DEMO程序中的宏定义包含液晶屏的型号,可以调用相关宏定义直接使用DEMO中写好的初始化程序。如果DEMO中并没有包含液晶屏的型号,则需要自己根据液晶屏的相关时序编写初始化。

一、打开液晶屏规格书找到相关时序







二、初始化函数

#ifdef AT070TN92
 
//**[10h]**//
Select_LCD_Sync_Mode(); // Enable XVSYNC, XHSYNC, XDE.
// Select_LCD_DE_Mode(); // XVSYNC & XHSYNC in idle state.
 
PCLK_Falling();
//PCLK_Rising();
 
VSCAN_T_to_B();
PDATA_Set_RGB();
 
HSYNC_Low_Active();
VSYNC_Low_Active();
DE_High_Active();
//DE_Low_Active();
 
LCD_HorizontalWidth_VerticalHeight(800,480);//INNOLUX 800x480¡C
 
/* [16h][17h] : Figure 19-3 [HND] Non Display or Back porch (pixels) = (HNDR + 1) * 8 + HNDFTR  
[18h] : Figure 19-3 [HST] Start Position or Front porch (pixels) = (HSTR + 1)x8
[19h] : Figure 19-3 [HPW] Pulse Width(pixels) = (HPW + 1)x8
*/
LCD_Horizontal_Non_Display(46);//INNOLUX800x600¡A46¡C
LCD_HSYNC_Start_Position(210);//INNOLUX800x600¡A16~354¡C
LCD_HSYNC_Pulse_Width(10);//INNOLUX800x600¡A1~40C
 
/* [1Ch][1Dh] : Figure 19-3 [VND] Non-Display Period(Line) = (VNDR + 1)
[1Eh] : Figure 19-3 [VST] Start Position(Line) = (VSTR + 1)
[1Fh] : Figure 19-3 [VPW] Pulse Width(Line) = (VPWR + 1)
*/
LCD_Vertical_Non_Display(23);//INNOLUX800x600¡A23¡C
LCD_VSYNC_Start_Position(22);//INNOLUX800x600¡A1~147¡C
LCD_VSYNC_Pulse_Width(10);//INNOLUX800x600¡A1~20C
 
#endif
前半部分为配置LCD SYNC或DE模式及RGB等相关配置选择函数,后半部分为配置液晶屏显示时序



LCD_Horizontal_Non_Display(46)配置的是寄存器16h、17,设置水平非显示区域周期。
LCD_HSYNC_Start_Position(210); 配置寄存器18h,此缓存器指定HSYNC 的起始地址,其计算的起始点是显示区域的结束时间点到开始产生HSYNC 的时间点。每个调整的基本单位为8-pixel,又被称为front porch。必须为8的倍数。
LCD_HSYNC_Pulse_Width(10);配置寄存器19h,指定HSYNC的周期宽度。必须为8的倍数。
垂直方向VS同理。

三、使用上位机
当使用的是RA8889及配套上位机时,使用AP工具可以配置相关参数并使用AP工具直接驱动显示,下拉选择Customized 输入参数,点击Save。


分享到:

相关热词搜索:液晶屏 初始化

上一篇:TTL转LVDS电路介绍
下一篇:最后一页