你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

关于STemWin的“缩水”

[复制链接]
SimonLuk 提问时间:2018-3-3 00:46 /
本帖最后由 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赤果果的歧视单色屏和墨水屏啊~

IMG_2322.JPG

收藏 评论21 发布时间:2018-3-3 00:46

举报

21个回答
nyszx 回答时间:2018-3-5 13:13:30
我有强迫症,也可能是我太低端,mcu开发不喜欢看不见的库,总喜欢看到源码才放心。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

wenyangzeng 回答时间:2018-3-5 15:53:53
本帖最后由 wenyangzeng 于 2018-3-5 15:57 编辑

既然支持ST75256,那么驱动的选择就在工程的LCDConf_FlexCocor_Template.c文件代码的最后一句:
  1. void LCD_X_Config(void) {
  2.   GUI_DEVICE * pDevice;
  3.   CONFIG_FLEXCOLOR Config = {0};
  4.   GUI_PORT_API PortAPI = {0};
  5.   //
  6.   // Set display driver and color conversion
  7.   //
  8.   pDevice = GUI_DEVICE_CreateAndLink(GUIDRV_FLEXCOLOR, GUICC_M565, 0, 0);
  9.   //
  10.   // Display driver configuration, required for Lin-driver
  11.   //
  12.   LCD_SetSizeEx (0, XSIZE_PHYS , YSIZE_PHYS);
  13.   LCD_SetVSizeEx(0, VXSIZE_PHYS, VYSIZE_PHYS);
  14.   //
  15.   // Orientation
  16.   //
  17.   Config.Orientation = GUI_SWAP_XY | GUI_MIRROR_Y;
  18.   GUIDRV_FlexColor_Config(pDevice, &Config);
  19.   //
  20.   // Set controller and operation mode
  21.   //
  22.   PortAPI.pfWrite16_A0  = LcdWriteReg;
  23.   PortAPI.pfWrite16_A1  = LcdWriteData;
  24.   PortAPI.pfWriteM16_A1 = LcdWriteDataMultiple;
  25.   PortAPI.pfReadM16_A1  = LcdReadDataMultiple;
  26.   GUIDRV_FlexColor_SetFunc(pDevice, &PortAPI, GUIDRV_FLEXCOLOR_F66702, GUIDRV_FLEXCOLOR_M16C0B16);
  27. }
复制代码

上例中是选择某型号的TFT彩屏,那个F66702非TFT的直接型号。




SimonLuk 回答时间:2018-3-5 22:24:40
本帖最后由 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赤果果的歧视单色屏和墨水屏啊~
IMG_2322.JPG

x5y4z3 回答时间:2018-3-3 11:00:04
一直在使用 emWin 的飘过,对于这所述也表示讶异!

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

MrJiu 回答时间:2018-3-3 13:40:11
x5y4z3 发表于 2018-3-3 11:00
一直在使用 emWin 的飘过,对于这所述也表示讶异!

RAM占用情况怎么样?
x5y4z3 回答时间:2018-3-4 14:00:10
MrJiu 发表于 2018-3-3 13:40
RAM占用情况怎么样?

看屏是否支持回读等,多项条件直接反应其用量。

评分

参与人数 1蝴蝶豆 +1 收起 理由
zero99 + 1

查看全部评分

wenyangzeng 回答时间:2018-3-5 10:15:52
应该不是缩水,到5.16板也没有支持ST75256

无标题.png

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

无薪税绵 回答时间:2018-3-5 10:28:33
我觉得,STemWin的底层驱动函数很简单,
并没有进行优化,可能只适合做DEMO。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

Stm32McuLover 回答时间:2018-3-5 10:54:33
不要在一棵树上吊死啊,stemwin也不开源了,不好玩。开源免费的GUI多的是,比如ugui、ugfx、LittlevGL

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

Angel_YY_ST 回答时间:2018-3-5 13:47:58
提示: 作者被禁止或删除 内容自动屏蔽
SimonLuk 回答时间:2018-3-5 15:10:24
wenyangzeng 发表于 2018-3-5 10:15
应该不是缩水,到5.16板也没有支持ST75256

STemWin主要支持Flexcolor和Lin驱动,版本有IAR和Keil等多种环境下的编译。

而Segger原本的emWin,则具有完整的驱动,包括Spage(ST75256使用这个驱动),这个在手册中明确有写,我目前使用的5.23和5.4都支持,早期的的5.16,支持Spage但是没有支持ST75256。具体说明搜一下手册都能找到。但是目前能拿到手的emWim,只有Keil的版本。
SimonLuk 回答时间:2018-3-5 15:12:53
Angel_YY 发表于 2018-3-5 13:47
STemWin算是ST给广大蝴蝶粉的一种福利吧,不用花钱就能体验专业的图形库,这个已经能够满足大部分蝴蝶粉的 ...

我不知道你说的“大部分”来自哪里的统计?

大部分单色或者灰度屏,包括还有很多电子墨水屏,使用Spage驱动。
如果不使用内置的Spage驱动,就要自己写,相对麻烦很多。
SimonLuk 回答时间:2018-3-5 15:16:11
wenyangzeng 发表于 2018-3-5 10:15
应该不是缩水,到5.16板也没有支持ST75256

无标题.png
SimonLuk 回答时间:2018-3-5 15:23:26
Angel_YY 发表于 2018-3-5 13:47
STemWin算是ST给广大蝴蝶粉的一种福利吧,不用花钱就能体验专业的图形库,这个已经能够满足大部分蝴蝶粉的 ...

只要显存是以这种方式组织的,就可以使用Spage驱动。

无标题.png
SimonLuk 回答时间:2018-3-5 16:25:39
wenyangzeng 发表于 2018-3-5 15:53
既然支持ST75256,那么驱动的选择就在工程的LCDConf_FlexCocor_Template.c文件代码的最后一句:

上例中是 ...

FlexColor是对16位以上的显示屏采用的,一般不低于GUICC_M565这种格式

ST75256是单色屏,只有2位灰度,是不可以用FlexColor的,只能用Spage


问题就回到最开始我说的。STemWin,没有Spage驱动。
12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版