|
好不容易把256Mbit的SDRAM驱动成功。
TFT的驱动真把我难住了。具体都是参考正点原子的例程做的。
目前 TFT显示屏什么都没有,只有一个像老式电视机没信号时,一个水平方向上下滚动的白条。
硬件是中华的7寸屏,1024*600.RGB888模式,MODE=HSD/VSD mode
初始化是这样的
/*初始化LCD emWin */ /* Init the STemWin GUI Library */
if(GUI_Init()!=0) BSP_Hardw_FStu |= BSP_GUI;
自己修改了BSP_LCD.C中的相关参数,绝对没有修改其他的。
#if LCD_NUM_LAYERS == 1
GUI_SetColor(DTCOLOR);
GUI_FillRect(0,0,800-1,480-1);
//GUI_Delay(10);
#elif LCD_NUM_LAYERS == 2
GUI_SelectLayer(0);
GUI_SetColor(DTCOLOR);
GUI_FillRect(0,0,800-1,480-1);
GUI_Delay(50);
GUI_SelectLayer(1);
GUI_SetColor(DTCOLOR);
GUI_FillRect(0,0,800-1,480-1);
GUI_Delay(50);
LCD_BL_ON();
GUI_SetColor(GUI_WHITE);
GUI_SetFont(GUI_FONT_32B_ASCII);
GUI_DispStringHCenterAt("Starting...\nWait a moment",400,100);
GUI_Delay(50);
/* Setup layer configuration during startup */
GUI_SelectLayer(0);
// GUI_JPEG_DrawScaled(&_acDesktop,79238UL + 1,0,0,100,100);
GUI_Delay(100);
#endif
GUI_SelectLayer(1);
GUI_SetBkColor(GUI_TRANSPARENT);
GUI_Clear();
GUI_MULTIBUF_End();
随便抄的一小段代码。
疑问:
既然原子的硬件是RGB888为什么有下面几条语句。
if(Pixelformat==0)
LTDC_Layer_InitStruct.LTDC_PixelFormat = LTDC_Pixelformat_RGB565;
else
LTDC_Layer_InitStruct.LTDC_PixelFormat = LTDC_Pixelformat_ARGB1555;
#define COLOR_MODE_1 _CM_ARGB1555
#if LCD_NUM_LAYERS == 1
#define COLOR_MODE_0 _CM_ARGB1555
#elif LCD_NUM_LAYERS == 2
#define COLOR_MODE_0 _CM_RGB565
#endif
、、==========================================
个人感觉这个函数是很重要的,可是整个程序没有一个地方有调用这个函数。
void LCD_LayerInit(uint8_t Pixelformat)
//=====================================
TFT是中华的CLAP070NJ02CW 找对应的驱动和硬件接口图。万分感谢 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
如果想吃一顿饺子,就得从冰箱里取出肉,剁馅儿,倒面粉、揉面、醒面,擀成皮儿,下锅……
一整个繁琐流程,就是为了出锅时那一嘴滚烫流油的热饺子。
如果这个过程,禁不住饿,零食下肚了,饺子出锅时也就不香了……《非诚勿扰3》
|