OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
楼主: 八度空间

分享下移植STemWin5.22经验,欢迎拍砖指导,呵呵 ----> 附上战舰STM32工程

  [复制链接]

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2018-1-17 22:03:24 | 显示全部楼层
xyzjacky 发表于 2018-1-17 22:01
手册里没有讲。因为TTF字库是SEGGER公司单独提供的。在安福莱的教程里有提到,只有一个显示效果,但是没 ...

哦,这个你就参照安福莱的来实验以下
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
正点原子逻辑分析仪DL16劲爆上市
回复 支持 反对

使用道具 举报

6

主题

75

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
203
金钱
203
注册时间
2013-8-15
在线时间
44 小时
发表于 2018-1-17 22:22:33 | 显示全部楼层
本帖最后由 xyzjacky 于 2018-1-17 22:25 编辑
八度空间 发表于 2018-1-17 22:03
哦,这个你就参照安福莱的来实验以下

哦,我知道了,它这种字体是一个存在SD卡中的文件。但是我现在只有一个片外FLASH,硬件上没有SD卡接口,那该怎么办呢?
回复 支持 反对

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2018-1-18 08:57:46 | 显示全部楼层
xyzjacky 发表于 2018-1-17 22:22
哦,我知道了,它这种字体是一个存在SD卡中的文件。但是我现在只有一个片外FLASH,硬件上没有SD卡接口, ...

写一个程序,通过串口将字库数据写入flash就可以了,论坛好像有个盘友做了,你搜索一下看看,参考来做
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

6

主题

75

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
203
金钱
203
注册时间
2013-8-15
在线时间
44 小时
发表于 2018-1-18 10:01:06 | 显示全部楼层
八度空间 发表于 2018-1-18 08:57
写一个程序,通过串口将字库数据写入flash就可以了,论坛好像有个盘友做了,你搜索一下看看,参考来做

谢谢,了解了!
回复 支持 反对

使用道具 举报

6

主题

75

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
203
金钱
203
注册时间
2013-8-15
在线时间
44 小时
发表于 2018-1-19 21:51:00 | 显示全部楼层
求教八度哥,emwin里面,有什么方法可以实现一个窗口的背景色改变而不影响窗口中显示的内容。请注意,窗口中有我用底层驱动函数(GUI中函数)显示的东西。
回复 支持 反对

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2018-1-19 22:10:16 | 显示全部楼层
xyzjacky 发表于 2018-1-19 21:51
求教八度哥,emwin里面,有什么方法可以实现一个窗口的背景色改变而不影响窗口中显示的内容。请注意,窗口 ...

没这样操作过,你可以尝试以下,应该有改变背景图片的API
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

6

主题

75

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
203
金钱
203
注册时间
2013-8-15
在线时间
44 小时
发表于 2018-1-23 10:59:23 | 显示全部楼层
八度空间 发表于 2018-1-19 22:10
没这样操作过,你可以尝试以下,应该有改变背景图片的API

有,要用到窗口管理
回复 支持 反对

使用道具 举报

6

主题

75

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
203
金钱
203
注册时间
2013-8-15
在线时间
44 小时
发表于 2018-2-2 18:39:17 | 显示全部楼层
另外请教楼主一个问题,关于显示数值显示居中时,如何消除上一次的数据。情况是这样的,我用
GUI_SetTextAlign(GUI_TA_HCENTER | GUI_TA_VCENTER);
GUI_DispDecAt(7438,266,196,4);显示了一个千位数据7438。

这会儿新的数据来到,是617,就用以下方式来使617居中显示。
GUI_SetTextAlign(GUI_TA_HCENTER | GUI_TA_VCENTER);
GUI_DispDecAt(617,266,196,3);

可是问题来了,7438是一个4位数,617是一个3位数。7438的7就会残留一半在最前面,造成显示错误。
我在安福莱和正点原子教程上还没有找到如何解决这样的问题,所以请教楼主,这样的问题一般是怎么解决的,即如何实现位数变化的数值的居中显示。
回复 支持 反对

使用道具 举报

6

主题

75

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
203
金钱
203
注册时间
2013-8-15
在线时间
44 小时
发表于 2018-2-2 18:39:43 | 显示全部楼层
另外请教楼主一个问题,关于显示数值显示居中时,如何消除上一次的数据。情况是这样的,我用
GUI_SetTextAlign(GUI_TA_HCENTER | GUI_TA_VCENTER);
GUI_DispDecAt(7438,266,196,4);显示了一个千位数据7438。

这会儿新的数据来到,是617,就用以下方式来使617居中显示。
GUI_SetTextAlign(GUI_TA_HCENTER | GUI_TA_VCENTER);
GUI_DispDecAt(617,266,196,3);

可是问题来了,7438是一个4位数,617是一个3位数。7438的7就会残留一半在最前面,造成显示错误。
我在安福莱和正点原子教程上还没有找到如何解决这样的问题,所以请教楼主,也请教各位网友,这样的问题一般是怎么解决的,即如何实现位数变化的数值的居中显示。
回复 支持 反对

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2018-2-3 11:52:37 | 显示全部楼层
xyzjacky 发表于 2018-2-2 18:39
另外请教楼主一个问题,关于显示数值显示居中时,如何消除上一次的数据。情况是这样的,我用
GUI_SetTextA ...

GUI_DispDecShift()用这个函数试试
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

6

主题

75

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
203
金钱
203
注册时间
2013-8-15
在线时间
44 小时
发表于 2018-2-8 17:59:12 | 显示全部楼层
八度空间 发表于 2018-2-3 11:52
GUI_DispDecShift()用这个函数试试

另外求教一下八度哥哥,我现在的代码中用到的字体和图片的字模和图模数据,我得存到片外flash去,但是因为数据量不大,而且系统在运行时只是读取,所以我不需要在片外flash上弄文件系统。

但我现在被卡在这里了,比如,我有一张BMP图片,图模数据用BmpCvtST.exe取好了,形成了一个C文件,这个C文件里面有这样几个部份:
a.  一个声明  extern GUI_CONST_STORAGE GUI_BITMAP bmArticle;
b. 一个数组  static GUI_CONST_STORAGE unsigned long _acArticle[] = {//数据略};
c. 一个跟图片相关的定义
GUI_CONST_STORAGE GUI_BITMAP bmArticle = {
  24, // xSize
  24, // ySize
  96, // BytesPerLine
  32, // BitsPerPixel
  (unsigned char *)_acArticle,  // Pointer to picture data
  NULL,  // Pointer to palette
  GUI_DRAW_BMP8888
};

我现在是仅把数组_acArticle[]存到片外 flash 中去,那么b项的_acArticle应该申明成什么呢?
我能想到的是把它定义成一个static GUI_CONST_STORAGE unsigned long _acArticle[100];这样的数组(假设原本的图模数据的大小就是100个),在每一个页面调用时,先从片外flash把数据读到_acArticle数组中,然后再使用这个数组。
反正编译器现在还没有报错。但是现在还只是设想的,代码还没有烧到硬件上去测试。
请问还有没有别的什么办法呢?
回复 支持 反对

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2018-2-9 10:25:16 | 显示全部楼层
xyzjacky 发表于 2018-2-8 17:59
另外求教一下八度哥哥,我现在的代码中用到的字体和图片的字模和图模数据,我得存到片外flash去,但是因 ...

图片数据表不大的话直接编译到片内就是了,没必要增加外部flash
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

6

主题

75

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
203
金钱
203
注册时间
2013-8-15
在线时间
44 小时
发表于 2018-2-9 14:13:03 | 显示全部楼层
八度空间 发表于 2018-2-9 10:25
图片数据表不大的话直接编译到片内就是了,没必要增加外部flash

图标还在不断的增加,现在片内的已经吃紧了。所以将来肯定是要放在外面的。
回复 支持 反对

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2018-2-9 17:39:05 | 显示全部楼层
xyzjacky 发表于 2018-2-9 14:13
图标还在不断的增加,现在片内的已经吃紧了。所以将来肯定是要放在外面的。

将数据存到flash中,需要显示这个的时候就读取回来显示就是了
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

1

主题

232

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3312
金钱
3312
注册时间
2015-4-19
在线时间
364 小时
发表于 2019-7-17 00:10:04 | 显示全部楼层

点赞,楼主5年前就搞出来了,学习一下,谢谢分享!
回复 支持 反对

使用道具 举报

1

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
171
金钱
171
注册时间
2013-1-2
在线时间
53 小时
发表于 2019-8-21 13:05:13 | 显示全部楼层
大赞楼主,好好学学了。
回复 支持 反对

使用道具 举报

51

主题

214

帖子

0

精华

高级会员

Rank: 4

积分
561
金钱
561
注册时间
2011-4-11
在线时间
43 小时
发表于 2019-10-22 21:09:07 | 显示全部楼层
顶  好移植笔记
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2015-5-29
在线时间
14 小时
发表于 2020-11-19 09:15:27 | 显示全部楼层
谢谢分享,对我非常有帮助
MCU DIY
回复 支持 反对

使用道具 举报

0

主题

9

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2021-1-25
在线时间
6 小时
发表于 2021-1-25 17:53:39 | 显示全部楼层
感谢分享,生成的文件大小有点彪。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-24 21:18

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表