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

关于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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版