在网上找了众多资料后,终于根据正点原子和F4 EMWIN移植文档和网上的一个例程资料,在F4上成功移植了EMWIN。
一开始步骤和正点原子都一样,只是因为显示屏的驱动芯片不同,在GUIDRV_Template.c文件中打点,读点,填充,画线函数有所区别,只要根据RA8875的驱动写好几个函数就行了
- 函数名:RA8875_PutPixel
- 功能说明:画一个像素
- 形参:
- _usX,_usY : 像素坐标
- _usColor :像素颜色
- 返回值:无
*/
void RA8875_PutPixel(uint16_t _usX, uint16_t _usY, uint16_t _usColor)
{
XY_Coordinate(_usX, _usY); /* 设置光标位置*/
RA8875_WriteCmd(0x02); /用于设定RA8875进入内存(DDRAM或CGRAM)读取/写入模式/
RA8875_WriteData16(_usColor);
}
“`
我移植的是stm32cubef4_V1.18.0中的STemWin,在GUIDRV_Template.c中的其他自带的画线,填充矩形等函数都是调用画点函数,所以可以不用修改,用stmwin自带的函数也是可以运行的。
最后在LCDConf_FlexColor_Template.c文件中,根据自己屏幕修改好尺寸,在我的板子上,需要注释掉GUIDRV_FlexColor_Config(pDevice, &Config)函数才可以正确运行。