本帖最后由 ahuaahua 于 2018-3-5 22:56 编辑 哎,其实也是自己没注意,白白浪费了两个小时。 有一块ST75256主控的4灰度LCD模块要搞,看emWin的手册,是可以直接用内置的GUIDRV_SPAGE驱动直接实现的。 满怀希望直接就把STemWin拿了过来,spi驱动之类的都搬好砖了,才发现原来STemWin应该是裁剪了如GUIDRV_SPAGE之类的一堆驱动 好吧,回去再下载一遍emWin。 话说回来,不裁剪GUIDRV_SPAGE有多难呢?有些墨水屏也是需要的呀,ST为什么不留下这个驱动呢? ——————————————追加一下内容的分界线—————————————— 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赤果果的歧视单色屏和墨水屏啊~ |
评分
查看全部评分
既然支持ST75256,那么驱动的选择就在工程的LCDConf_FlexCocor_Template.c文件代码的最后一句:
上例中是选择某型号的TFT彩屏,那个F66702非TFT的直接型号。
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赤果果的歧视单色屏和墨水屏啊~
评分
查看全部评分
RAM占用情况怎么样?
看屏是否支持回读等,多项条件直接反应其用量。
评分
查看全部评分
评分
查看全部评分
并没有进行优化,可能只适合做DEMO。
评分
查看全部评分
评分
查看全部评分
STemWin主要支持Flexcolor和Lin驱动,版本有IAR和Keil等多种环境下的编译。
而Segger原本的emWin,则具有完整的驱动,包括Spage(ST75256使用这个驱动),这个在手册中明确有写,我目前使用的5.23和5.4都支持,早期的的5.16,支持Spage但是没有支持ST75256。具体说明搜一下手册都能找到。但是目前能拿到手的emWim,只有Keil的版本。
我不知道你说的“大部分”来自哪里的统计?
大部分单色或者灰度屏,包括还有很多电子墨水屏,使用Spage驱动。
如果不使用内置的Spage驱动,就要自己写,相对麻烦很多。
只要显存是以这种方式组织的,就可以使用Spage驱动。
FlexColor是对16位以上的显示屏采用的,一般不低于GUICC_M565这种格式
ST75256是单色屏,只有2位灰度,是不可以用FlexColor的,只能用Spage
问题就回到最开始我说的。STemWin,没有Spage驱动。