OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 51940|回复: 166

单色显示屏GUI解决方案,SimpleGUI 2018-10-29更新:重新编写位图与文字绘制接口

  [复制链接]

22

主题

133

帖子

2

精华

高级会员

Rank: 4

积分
901
金钱
901
注册时间
2015-12-24
在线时间
197 小时
发表于 2017-3-12 12:02:22 | 显示全部楼层 |阅读模式
本帖最后由 玉麒麟 于 2018-10-30 00:07 编辑

因为SimpleGUI的起源是因为一个在STM32平台上的项目,所以发布在这里,希望能给大家的学习和工作带来便利。
SimpleGUI使用MIT许可协议开源,发布于OSChina,可任意修改并重新发布,可免费用于商业用途,您可以通过以下链接获取最新源码并跟踪开发进度

SimpleGUI项目介绍:
因为论坛一帖内容有限,所以SimpleGUI简介已移动至以下地址,如果您想了解SimpleGUI背后的故事,烦请移步:

效果预览:
SimpleGUI.jpg
最后更新:
    2018年10月29日更新:
        修正一些编译符号的全局定义。
        修正一些编译错误。
        重新编写了位图绘制(包括文字绘制)接口数据读取的相关处理,方便使用片外Flash存放字库数据时的移植。
        手记:
                阔别一年,各位别来无恙。
                有了孩子,梦想的步伐不得不放慢,论坛的更新可能滞后很多,一些并不重要的小更新可能不会在论坛里跟进了,在此致歉。
                承蒙抬爱,如果有想跟踪SimpleGUI开发进度的,请关注Gitee托管平台的SimpleGUI项目:
                  https://gitee.com/Polarix/simplegui
                本次更新,主要更新了位图数据获取和位图绘制接口的处理,方便使用片外FLASH的时候与FLASH读取接口的对接。
                大家久等,感谢对SimpleGUI的支持。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

23

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
452
金钱
452
注册时间
2016-9-1
在线时间
122 小时
发表于 2018-8-11 06:36:04 | 显示全部楼层
pcb_diy 发表于 2018-8-10 16:30
楼主什么时候可以更新一下示例文档啊,现在文档和新的代码好像不一样。示例也没办法跑起来。

命名有不同,还是可以参照一下
回复 支持 0 反对 1

使用道具 举报

13

主题

186

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
441
金钱
441
注册时间
2016-6-30
在线时间
97 小时
发表于 2017-3-14 10:00:03 | 显示全部楼层
O(∩_∩)O谢谢楼主分享 我也在做类似的GUI  移植了liandao的菜单 也挺好的 可以和楼主的结合优化 QQ图片20170314095017.jpg QQ图片20170314095025.jpg


回复 支持 1 反对 0

使用道具 举报

22

主题

133

帖子

2

精华

高级会员

Rank: 4

积分
901
金钱
901
注册时间
2015-12-24
在线时间
197 小时
 楼主| 发表于 2017-3-12 12:16:20 | 显示全部楼层
那个,我准备把这个项目登录开源中国社区,但是项目名字还没有取好,有谁赐名么?
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2017-3-12 13:14:44 | 显示全部楼层
本帖最后由 八度空间 于 2017-3-12 13:19 编辑

楼主牛逼
1、emWin可以使用STemWin这个,官方是以lib形式发布的,不需要授权即可使用,只能用于ST系列的芯片
2、这种单色LCD和OLED差不多,我写的是OLED的,直接单片机开一个缓冲区,先在缓冲区操作,完了之后直接写入OLED显示即可,不管OLED内部像素怎么操作的,这种单色LCD同样可以这样干,有一个图像写入功能,就当缓冲区是一个图象就是了,网上有见过这样弄的
3、弄好后,后续项目用到可以直接使用了,很是方便
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

24

主题

695

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1666
金钱
1666
注册时间
2016-4-29
在线时间
266 小时
发表于 2017-3-12 16:30:00 | 显示全部楼层
顶一个,支持支持
回复 支持 反对

使用道具 举报

22

主题

133

帖子

2

精华

高级会员

Rank: 4

积分
901
金钱
901
注册时间
2015-12-24
在线时间
197 小时
 楼主| 发表于 2017-3-12 17:43:58 | 显示全部楼层
八度空间 发表于 2017-3-12 13:14
楼主牛逼
1、emWin可以使用STemWin这个,官方是以lib形式发布的,不需要授权即可使用,只能用于ST系列 ...

嗯,OLED我没用过并口的,串口接口好像没有读点功能,其实KS0108的读点也挺蛋碎的,不知道是因为硬件BUG还是怎么的,读点第一次读不出来,必须连读两次才好用,所以导致读点效率极低,所以我就开辟了一个缓存,对于屏幕,只用写动作就可以,另外,我还有一个区域记录得的东西,比如这一次我只更新了(5,5)到(50, 15)这一块区域,那么我更新时只重绘这一小块,速度会有进一步提升,建议你也加一下。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-3-12 17:50:04 | 显示全部楼层
cool
名字还是楼主自己想比较好啊,毕竟是你做的东西。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
147
金钱
147
注册时间
2013-1-23
在线时间
28 小时
发表于 2017-3-12 19:41:16 | 显示全部楼层
SEUI如何
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2017-3-12 21:38:21 | 显示全部楼层
玉麒麟 发表于 2017-3-12 17:43
嗯,OLED我没用过并口的,串口接口好像没有读点功能,其实KS0108的读点也挺蛋碎的,不知道是因为硬件BUG ...

我是整块更新的,OLED也不大,现在MCU性能也挺高的,不怕
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

9

主题

47

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1779
金钱
1779
注册时间
2015-4-24
在线时间
680 小时
发表于 2017-3-12 21:43:35 | 显示全部楼层
楼主厉害呀 顶一下
回复 支持 反对

使用道具 举报

15

主题

317

帖子

0

精华

高级会员

Rank: 4

积分
863
金钱
863
注册时间
2015-2-12
在线时间
354 小时
发表于 2017-3-12 22:13:24 | 显示全部楼层
好奇,先下了。谢谢楼主!
回复 支持 反对

使用道具 举报

33

主题

310

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
495
金钱
495
注册时间
2016-12-31
在线时间
63 小时
发表于 2017-3-12 22:56:57 | 显示全部楼层
大神,佩服
回复 支持 反对

使用道具 举报

33

主题

984

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8031
金钱
8031
注册时间
2014-8-13
在线时间
1595 小时
发表于 2017-3-13 00:21:41 | 显示全部楼层
哎呀,正瞌睡的时候有人送枕头啊。我正在搞240*64的任意位置显示字符,就有人分享这个啊,真是太感谢了。

回复 支持 反对

使用道具 举报

22

主题

133

帖子

2

精华

高级会员

Rank: 4

积分
901
金钱
901
注册时间
2015-12-24
在线时间
197 小时
 楼主| 发表于 2017-3-13 08:30:06 | 显示全部楼层
八度空间 发表于 2017-3-12 21:38
我是整块更新的,OLED也不大,现在MCU性能也挺高的,不怕

这个和单片机的性能关系不大,关键是屏控制器的运算速度,OLED的SSH1306D控制器我没试过,反正KS0108的速度不敢恭维,你单片机再快,每次都要在屏幕IO那等一会儿,这个受不了啊!
回复 支持 反对

使用道具 举报

3

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2016-3-20
在线时间
17 小时
发表于 2017-3-13 08:32:47 | 显示全部楼层
厉害了,值得参考
回复 支持 反对

使用道具 举报

17

主题

158

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2012-12-17
在线时间
62 小时
发表于 2017-3-13 09:02:18 | 显示全部楼层
留着备用,感谢楼主分享
回复 支持 反对

使用道具 举报

0

主题

425

帖子

0

精华

高级会员

Rank: 4

积分
999
金钱
999
注册时间
2016-12-9
在线时间
174 小时
发表于 2017-3-13 09:49:22 | 显示全部楼层
顶一个,支持支持
回复 支持 反对

使用道具 举报

1

主题

97

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
384
金钱
384
注册时间
2011-4-10
在线时间
72 小时
发表于 2017-3-13 10:30:49 | 显示全部楼层
多谢楼主无私分享
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2017-3-13 14:29:04 | 显示全部楼层
玉麒麟 发表于 2017-3-13 08:30
这个和单片机的性能关系不大,关键是屏控制器的运算速度,OLED的SSH1306D控制器我没试过,反正KS0108的速 ...

这个的确是,屏的MCU是个瓶颈
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

6

主题

37

帖子

0

精华

高级会员

Rank: 4

积分
707
金钱
707
注册时间
2014-10-6
在线时间
74 小时
发表于 2017-3-13 15:13:49 | 显示全部楼层
楼主这篇文章写的很不错,让我有种楼主不是在写程序,而是做艺术的。就像雕刻家雕刻一件物品,边上不好磨磨边。这种精神值得我们去学习。
回复 支持 反对

使用道具 举报

13

主题

314

帖子

0

精华

高级会员

Rank: 4

积分
713
金钱
713
注册时间
2012-7-20
在线时间
102 小时
发表于 2017-3-13 16:11:47 | 显示全部楼层
厉害了,感谢分享!
互联网,智能设备爱好者,欢迎讨论任何有意思的想法。
回复 支持 反对

使用道具 举报

22

主题

133

帖子

2

精华

高级会员

Rank: 4

积分
901
金钱
901
注册时间
2015-12-24
在线时间
197 小时
 楼主| 发表于 2017-3-13 18:59:47 | 显示全部楼层
铭心科技 发表于 2017-3-13 15:13
楼主这篇文章写的很不错,让我有种楼主不是在写程序,而是做艺术的。就像雕刻家雕刻一件物品,边上不好磨磨 ...

编程,其实就是一门艺术,开发者要对自己的代码负责,更要向用户负责。
回复 支持 反对

使用道具 举报

22

主题

133

帖子

2

精华

高级会员

Rank: 4

积分
901
金钱
901
注册时间
2015-12-24
在线时间
197 小时
 楼主| 发表于 2017-3-13 19:01:34 | 显示全部楼层

没看明白,是何含义呢?
回复 支持 反对

使用道具 举报

22

主题

133

帖子

2

精华

高级会员

Rank: 4

积分
901
金钱
901
注册时间
2015-12-24
在线时间
197 小时
 楼主| 发表于 2017-3-13 19:01:55 | 显示全部楼层
正点原子 发表于 2017-3-12 17:50
cool
名字还是楼主自己想比较好啊,毕竟是你做的东西。

原子哥,为啥每次看到你的头像都是那么暴力……
回复 支持 反对

使用道具 举报

22

主题

133

帖子

2

精华

高级会员

Rank: 4

积分
901
金钱
901
注册时间
2015-12-24
在线时间
197 小时
 楼主| 发表于 2017-3-13 19:02:54 | 显示全部楼层
mack13013 发表于 2017-3-13 00:21
哎呀,正瞌睡的时候有人送枕头啊。我正在搞240*64的任意位置显示字符,就有人分享这个啊,真是太感谢了。
...

24064……我淘宝了一下,好贵的……
你用的芯片什么主控?我也研究一下?!
回复 支持 反对

使用道具 举报

17

主题

466

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2164
金钱
2164
注册时间
2013-1-11
在线时间
510 小时
发表于 2017-3-13 22:08:01 | 显示全部楼层
厉害的人!
回复 支持 反对

使用道具 举报

2

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
147
金钱
147
注册时间
2013-1-23
在线时间
28 小时
发表于 2017-3-13 22:09:20 | 显示全部楼层
玉麒麟 发表于 2017-3-13 19:01
没看明白,是何含义呢?

用了楼主的这个gui,以后做项目so easy
回复 支持 反对

使用道具 举报

2

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
147
金钱
147
注册时间
2013-1-23
在线时间
28 小时
发表于 2017-3-13 22:14:16 | 显示全部楼层
问一下楼主,这个界面是用的控件还是自己写的?
回复 支持 反对

使用道具 举报

头像被屏蔽

2

主题

164

帖子

1

精华

禁止访问

积分
1316
金钱
1316
注册时间
2012-5-13
在线时间
127 小时
发表于 2017-3-14 08:37:05 | 显示全部楼层
可以,很强势
回复 支持 反对

使用道具 举报

22

主题

133

帖子

2

精华

高级会员

Rank: 4

积分
901
金钱
901
注册时间
2015-12-24
在线时间
197 小时
 楼主| 发表于 2017-3-14 09:45:37 | 显示全部楼层
xfdr0805 发表于 2017-3-13 22:14
问一下楼主,这个界面是用的控件还是自己写的?

完全自主,代码全透明,你可以去网盘下来自己耍。
IDE都是绿色的配好的。
回复 支持 反对

使用道具 举报

22

主题

133

帖子

2

精华

高级会员

Rank: 4

积分
901
金钱
901
注册时间
2015-12-24
在线时间
197 小时
 楼主| 发表于 2017-3-14 09:46:20 | 显示全部楼层
xfdr0805 发表于 2017-3-13 22:09
用了楼主的这个gui,以后做项目so easy

SoEasy,挺好!
为啥我想起了步步高打火机,那里不会点哪里……
回复 支持 反对

使用道具 举报

22

主题

133

帖子

2

精华

高级会员

Rank: 4

积分
901
金钱
901
注册时间
2015-12-24
在线时间
197 小时
 楼主| 发表于 2017-3-14 10:32:37 | 显示全部楼层
yijinxiaoyou 发表于 2017-3-14 10:00
O(∩_∩)O谢谢楼主分享 我也在做类似的GUI  移植了liandao的菜单 也挺好的 可以和楼主的结合优 ...

嗯,不错,我也在做一些图标资源。
这种屏貌似比KS0108便宜不少呢!
回复 支持 反对

使用道具 举报

13

主题

186

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
441
金钱
441
注册时间
2016-6-30
在线时间
97 小时
发表于 2017-3-14 10:40:42 | 显示全部楼层
玉麒麟 发表于 2017-3-14 10:32
嗯,不错,我也在做一些图标资源。
这种屏貌似比KS0108便宜不少呢!

16块左右一个刷新稍微慢点显示波形 频谱什么的有残影
回复 支持 反对

使用道具 举报

13

主题

186

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
441
金钱
441
注册时间
2016-6-30
在线时间
97 小时
发表于 2017-3-14 10:42:40 | 显示全部楼层
玉麒麟 发表于 2017-3-14 10:32
嗯,不错,我也在做一些图标资源。
这种屏貌似比KS0108便宜不少呢!

可以软件调对比度做渐变也可以
回复 支持 反对

使用道具 举报

4

主题

98

帖子

0

精华

高级会员

Rank: 4

积分
755
金钱
755
注册时间
2015-9-16
在线时间
94 小时
发表于 2017-3-14 10:55:25 | 显示全部楼层
楼主厉害了,下载下来参考学习。
回复 支持 反对

使用道具 举报

22

主题

133

帖子

2

精华

高级会员

Rank: 4

积分
901
金钱
901
注册时间
2015-12-24
在线时间
197 小时
 楼主| 发表于 2017-3-14 12:00:24 | 显示全部楼层
yijinxiaoyou 发表于 2017-3-14 10:42
可以软件调对比度做渐变也可以

使用软件PWM调整做灰度,效率确实捉急……
回复 支持 反对

使用道具 举报

13

主题

186

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
441
金钱
441
注册时间
2016-6-30
在线时间
97 小时
发表于 2017-3-14 12:10:34 | 显示全部楼层
玉麒麟 发表于 2017-3-14 12:00
使用软件PWM调整做灰度,效率确实捉急……

额是改寄存器的不用pwm
回复 支持 反对

使用道具 举报

4

主题

346

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3657
金钱
3657
注册时间
2016-2-21
在线时间
542 小时
发表于 2017-3-14 13:07:43 | 显示全部楼层
前排支持
回复 支持 反对

使用道具 举报

22

主题

133

帖子

2

精华

高级会员

Rank: 4

积分
901
金钱
901
注册时间
2015-12-24
在线时间
197 小时
 楼主| 发表于 2017-3-14 13:20:30 | 显示全部楼层
yijinxiaoyou 发表于 2017-3-14 12:10
额是改寄存器的不用pwm

哦,我大约想明白了,就是快速修改对比度寄存器?!
回复 支持 反对

使用道具 举报

38

主题

527

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1424
金钱
1424
注册时间
2011-11-27
在线时间
122 小时
发表于 2017-3-14 13:25:56 | 显示全部楼层
好贴必顶!~~~  赞赞赞!!!
永远保持一颗学习的心态。
回复 支持 反对

使用道具 举报

33

主题

984

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8031
金钱
8031
注册时间
2014-8-13
在线时间
1595 小时
发表于 2017-3-14 15:22:51 | 显示全部楼层
玉麒麟 发表于 2017-3-13 19:02
24064……我淘宝了一下,好贵的……
你用的芯片什么主控?我也研究一下?!

大概100左右吧。主控T6963C,神经病一样的说明书,烦透了。

STM32F407驱动它要等待不少,T6963C性能也差劲。
回复 支持 反对

使用道具 举报

9

主题

209

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1358
金钱
1358
注册时间
2015-12-19
在线时间
108 小时
发表于 2017-3-14 21:04:16 来自手机 | 显示全部楼层
祝楼主幸福美满,财源广进
回复 支持 反对

使用道具 举报

3

主题

10

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
366
金钱
366
注册时间
2015-1-27
在线时间
43 小时
发表于 2017-3-16 22:40:32 | 显示全部楼层
SSH1306D KS0108,我都用过,现在无论做什么人机交互,我都采用在MCU内存中开辟一段显存,所以STM32的FLASH容量都是选用大容量的,因为要装字库,方式改动一个像素点,我都刷新一下所有像素点。对于一般工业应用,用户还可以接受。
回复 支持 反对

使用道具 举报

0

主题

23

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4366
金钱
4366
注册时间
2013-10-5
在线时间
413 小时
发表于 2017-3-17 10:13:04 | 显示全部楼层
支持支持,欣赏一段文字,下载了代码,学习了。
回复 支持 反对

使用道具 举报

22

主题

133

帖子

2

精华

高级会员

Rank: 4

积分
901
金钱
901
注册时间
2015-12-24
在线时间
197 小时
 楼主| 发表于 2017-3-17 14:11:42 | 显示全部楼层
淋哥儿 发表于 2017-3-16 22:40
SSH1306D KS0108,我都用过,现在无论做什么人机交互,我都采用在MCU内存中开辟一段显存,所以STM32的FLASH ...

对于STM32这样的还行,要是51,运存就那么大点儿,自己跑都够呛了,还开显存,呵呵哒……
不过话说回来,以51的运算能力和内存,估计也存不了什么大型项目。、
之前没用显存时候,我还有专门绘制水平线和垂直线的函数,反色函数也是根据页的特性编写的,事实上,还没有显存里更新然后局部重绘来得快。
回复 支持 反对

使用道具 举报

11

主题

179

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1103
金钱
1103
注册时间
2016-7-19
在线时间
168 小时
发表于 2017-3-17 15:33:16 | 显示全部楼层
楼主厉害!!
回复 支持 反对

使用道具 举报

11

主题

179

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1103
金钱
1103
注册时间
2016-7-19
在线时间
168 小时
发表于 2017-3-17 15:50:22 | 显示全部楼层
我也去试试!!!
回复 支持 反对

使用道具 举报

13

主题

45

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
314
金钱
314
注册时间
2013-7-17
在线时间
10 小时
发表于 2017-3-19 21:39:41 | 显示全部楼层
厉害厉害厉害
回复 支持 反对

使用道具 举报

10

主题

172

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1479
金钱
1479
注册时间
2016-1-25
在线时间
260 小时
发表于 2017-3-20 09:44:08 | 显示全部楼层
学习了哈
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2014-11-21
在线时间
5 小时
发表于 2017-3-21 04:16:30 | 显示全部楼层
虽然大部分程序我看不懂 但我依然挺你 都是一步一个脚印走过来的
数控机床、加工中心维修改造,机床线路板维修抄板。PLC维护、编程,各种伺服器、变频器维修 进口仪器仪表维修
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-20 14:43

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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