Angel_YY 发表于 2018-3-5 13:47
STemWin算是ST给广大蝴蝶粉的一种福利吧,不用花钱就能体验专业的图形库,这个已经能够满足大部分蝴蝶粉的 ...
我不知道你说的“大部分”来自哪里的统计?
大部分单色或者灰度屏,包括还有很多电子墨水屏,使用Spage驱动。
如果不使用内置的Spage驱动,就要自己写,相对麻烦很多。
wenyangzeng 发表于 2018-3-5 10:15
应该不是缩水,到5.16板也没有支持ST75256
Angel_YY 发表于 2018-3-5 13:47
STemWin算是ST给广大蝴蝶粉的一种福利吧,不用花钱就能体验专业的图形库,这个已经能够满足大部分蝴蝶粉的 ...
只要显存是以这种方式组织的,就可以使用Spage驱动。
本帖最后由 wenyangzeng 于 2018-3-5 15:57 编辑
ahuaahua 发表于 2018-3-5 15:16
既然支持ST75256,那么驱动的选择就在工程的LCDConf_FlexCocor_Template.c文件代码的最后一句:
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_M565, 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.Orientation = GUI_SWAP_XY | GUI_MIRROR_Y;
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_F66702, GUIDRV_FLEXCOLOR_M16C0B16);
}
上例中是选择某型号的TFT彩屏,那个F66702非TFT的直接型号。
wenyangzeng 发表于 2018-3-5 15:53
既然支持ST75256,那么驱动的选择就在工程的LCDConf_FlexCocor_Template.c文件代码的最后一句:
上例中是 ...
FlexColor是对16位以上的显示屏采用的,一般不低于GUICC_M565这种格式
ST75256是单色屏,只有2位灰度,是不可以用FlexColor的,只能用Spage
问题就回到最开始我说的。STemWin,没有Spage驱动。
这个问题 我也很好奇关心中。。。。
我还是喜欢功能多的,这样做什么都有余地
本帖最后由 ahuaahua 于 2018-3-5 22:54 编辑
feixiang20 发表于 2018-3-5 21:53
我还是喜欢功能多的,这样做什么都有余地
Nucleo STM32L432KC + emWin 5.46 + 使用GUIDRV_Spage驱动
实现过程非常简单:
1、自己完成LCD初始化序列
2、实现emWin的写寄存器、写数据、写多个数据三个接口
3、在LCD_X_Config()中,指定GUIDRV_Spage驱动,并且SetBus8和SetST75256
以上三步,就完成了全部设置。
如果使用STemWin,就算手工下载了GUIDRV_Spage.h文件,编译器还是直接报找不到Spage、SetBus8、SetST75256……
哎,感觉被ST赤果果的歧视单色屏和墨水屏啊~
试试LittlevGL,这个效果也很棒
yesyes...是有删减的,你们都猜对了...