本帖最后由 fjjjnk1234 于 2015-2-3 23:02 编辑
最近移植了一下emWin5.22,运行了官方的Demo,感觉还存在一些小问题:显示颜色有偏差和运行TreeView Demo的时候,海豚游过的地方残影不能马上消失,不知道是什么原因,哪位前辈能指导一下。16位方式驱动TFT3.2寸屏,ILI9341控制器 先写了一个简单的测试程序,屏幕显示ST-emWin test!,板子上的LED灯1S闪烁一次 主函数:
- int main(void)
- {
- SysTick_Init();
- LED_Init();
- RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_CRC, ENABLE);
- GUI_Init();
- GUI_DispStringAt("ST-emWin test!", 50, 160);
- while(1)
- {
- GPIO_SetBits(GPIOA, GPIO_Pin_5);
- GUI_Delay(1000);
- GPIO_ResetBits(GPIOA, GPIO_Pin_5);
- GUI_Delay(1000);
- }
- }
- void LCD_X_Config(void) {
- GUI_DEVICE * pDevice;
- CONFIG_FLEXCOLOR Config = {0};
- GUI_PORT_API PortAPI = {0};
- //
- // Set display driver and color conversion
- //
- pDevice = GUI_DEVICE_CreateAndLink(GUIDRV_FLEXCOLOR, GUICC_565, 0, 0);
- //
- // Display driver configuration, required for Lin-driver
- //
- LCD_SetSizeEx (0, XSIZE_PHYS , YSIZE_PHYS);
- LCD_SetVSizeEx(0, VXSIZE_PHYS, VYSIZE_PHYS);
- //
- // Orientation
- //
- Config.FirstCOM = 0;
- Config.FirstSEG = 0;
- Config.Orientation = GUI_MIRROR_Y|GUI_MIRROR_X;
- //Config.Orientation = GUI_SWAP_XY | GUI_MIRROR_Y;
- Config.NumDummyReads = 2;
- GUIDRV_FlexColor_Config(pDevice, &Config);
- //
- // Set controller and operation mode
- //
- PortAPI.pfWrite16_A0 = LcdWriteReg;
- PortAPI.pfWrite16_A1 = LcdWriteData;
- PortAPI.pfWriteM16_A1 = LcdWriteDataMultiple;
- PortAPI.pfReadM16_A1 = LcdReadDataMultiple;
- GUIDRV_FlexColor_SetFunc(pDevice, &PortAPI, GUIDRV_FLEXCOLOR_F66709, GUIDRV_FLEXCOLOR_M16C0B16);
- }
完整程序:(仅供参考,运行了Demo后,感觉程序还存在缺陷)
emWin_basic.rar
(2.02 MB, 下载次数: 13)
运行Demo,存在颜色偏差问题和残影问题
这个例子出现的问题最大
刷屏速度:L:L:L
这个红框没在正中间
完整程序:(仅供参考)
emWin_Demo.rar
(3.15 MB, 下载次数: 15)
哪位朋友知道上述的问题可能是什么原因造成的,麻烦指导一下,谢谢!
|