OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子新作:阿波罗STM32F767&F429&探索者STM32F4开发板&赶快来下载资料哦。

查看: 6397|回复: 117

单色显示屏GUI解决方案——SimpleGUI[2017-10-11更新,重制HMI引擎,新增实时图表接口]

  [复制链接]

  离线 

20

主题

108

帖子

2

精华

高级会员

Rank: 4

积分
699
金钱
699
注册时间
2015-12-24
在线时间
145 小时
发表于 2017-3-12 12:02:22 | 显示全部楼层 |阅读模式
正点原子公众号
本帖最后由 玉麒麟 于 2017-10-11 21:36 编辑

因为SimpleGUI的起源是因为一个在STM32平台上的项目,所以发布在这里,希望能给大家的学习和工作带来便利。
更新记录:
    2017年7月31日更新:
        整理函数名、变量名、宏定义名。
        增加时间获取接口,方便RTC相关功能移植。
        列表增加动态内容支持,如果系统支持MMU(可进行Malloc、Free操作),则可以使能动态内存,使列表内容动态化,可以随机增减列表项。

    2017年10月11日更新:
        整理函数名、变量名、宏定义名。
        重新设计了HMI引擎,SimpleGUI从此不再简单是一套绘图接口,而将成为一个完整的单色GUI解决方案。
        新增实时图标接口,可以显示波形图,具体请参考例程。
        运行效果:
             LCD_20170911_1858-1.jpg
        手记:
                距离上次更新已经两个多月了,这期间很多故事和事故,哈哈。
                上次更新完动态列表的相关内容后,开始研究者更新一下移植范例,编写一下API文档,就在写文档时候我发现了问题。
                编写文档时,本着简单易懂的思路,准备再正式讲解各API的用处之前,先讲如何进行移植,以方便使用者最快的看到直观效果。但就在这个环节上出了问题,之前有设计过一个简单的HMI引擎,但是效果并不特别理想,如果移植到硬件平台上,很难做出演示效果,于是再三斟酌之下,我决定重新设计一下HMI引擎,彻底将SimpleGUI的功能代码、用户代码和用户数据分离开,做到结构清楚,条理明快易懂,于是这一拖,就是两个多月。
                然后慢慢就混到了九月七号,老婆再三十九周时候给我生了个六斤一两的小子,家里添丁,事情更多了,于是SimpleGUI的维护与更新就更慢了……
                直到今天,全新的HMI引擎和大家见面了,至少目前看来比较成熟了,而且还增加了动态曲线图的接口,SimpleGUI已经不仅是一个用于绘图的接口库,我希望它能够为每一个需要他的人提供一个完整的GUI解决方案。
                大家久等,感谢对SimpleGUI的支持。

项目介绍:
1,起源
    这套GUI系统其实来自于一个切切实实的需求。
    本人大学学习嵌入式,毕业至今依旧从事软件和嵌入式相关开发工作。但是我朝工资你懂的,基本不够花,所以在闲余时间会做一些兼职开发工作。
    之前的开发工作,很多都是直接一块板子几个灯,然后通过串口、USB或者蓝牙和手机或者电脑进行通讯,设定之类的操作也基本通过手机和电脑等上位终端完成,换句话说,人机交互基本不在本地执行。
    但是去年接手的一个工控需求,要求终端机能够完成完整的人机交互,使用12864或者19264进行操作和显示。老实说,我巨反感,因为这样的复杂操作就需要庞大的GUI支持,而单片机上不可能像上位机那样,给你提供完整的操作库,而是需要开发者自己去一个像素一个像素的实现,有时候感觉甚至用超级终端都比这个来的省心。但客户就是上帝,于是我就走上了一条不归路。

2,萌芽
    最初我尝试使用emWin,库和范例代码我也下载研究了一下,还在加了一个专门玩儿emWin的群,看着群里大神们做的帅呆酷毙,以假乱真的GUI,我是一百个佩服,寻思着,我得啥时候达到这个段位。
    但是慢慢的,我发现emWin在强大的背后有一些小问题。
    首先最要命的就是授权,用Keil编译还需要加一个License,至于用其他IDE我就不清楚了。对于我们这些开发者,尤其是业余开发者来说,要钱就是要命啊!就算破解了,谁知道什么时候会收到谁的律师函?!
    其次,强大的emWin对内存的消耗也是十分强大的,单片机的内存资源普遍匮乏,我也向群里的大神了解过,华丽的GUI背后需要的是外置存储、内存拓展和文件系统的支持,这无论是软件设计成本还是硬件设计成本,都是一笔不小的附加。
    但是事实上,我这种简单设备的开发,并不需要如此华丽的外表,只需要能够支持基本的操作就可以,多层窗体等功能在大多数工业开发上基本用不上,于是我就想,GUI自己真的就搞不定么,省下来的内存可以做更大量的数据转储和复杂运算啊!然后我在网上搜索了一些资料,以及包括周立功的ZLGGUI的代码及实现,于是就萌生了自己制作GUI的想法。
    最开始,我买了ST7920和KS0108的19264液晶屏,经过反反复复的折腾后,我决定使用KS0108的屏幕,廉价,而且操作方式更利于编码。KS0108是以页为单位,竖置横排操作,而ST7920是横置竖排,而且ST7920就因为带了个很鸡肋的字库,貌似还更贵一些。
    于是,SimpleGUI就这样萌芽了。

3,艰难的第一步
    最开始攻克的课题是任意位置显示文字,网上所有的资料都是基于最基本的KS0108操作模式的文字显示,纵坐标必须是8的整数倍,我开始也是这样做的,使用8*16的英文字符以及16*16的中文字符,但是后来发现,外观很不理想,于是我的第一个课题就是以像素为单位任意位置显示任意大小的汉字。
    经过一周的努力,任意位置,任意字号的问题解决了,而且我发现,12像素的中文文字比16像素的好看多了,特别是绘制列表的时候,边上留上一像素的留白,比上顶天下顶地的好看多了!
    图片是STM32F103ZET6+KS0108驱动的19264显示屏。
   

列表

列表
    这应该是SimpleGUI第一个实用化的功能。
        
4,接口完善
    为了完成这个项目,我就做了几个比较常用的接口,比如绘制点、线、矩形以及区域反色,然后以这些基础的绘图操,又衍生了列表,以及时间日期的调整框。然后我发现有些操作,特别是反显时,需要读点,屏幕刷新特别慢,看着特别闹心,于是我在单片机里开辟了一个1.5K的显示缓存(192*8=1536),每个字节对应屏幕上一个页单元,所有的操作都在这里进行,另外有四个标记量标记被修改过的矩形部分,以实现局部刷新,显示效果终于比较满意了。
    为了赶工期,其中有些代码还是将就出来的,离通用化还有一定的距离,但是其中不乏令我十分满意的设计,比如列表参数的引入,以及不同类型参数列表项的混排。
        
5,发布与开源
    SimpleGUI诞生时候,我并没有开源的打算,这要从很久以前说起了。
    大学时候,以及大学毕业后的一段时间,还不知道原子哥的OpenDev,尚在某论坛混(为避免恶意攻击之嫌,不点名),但论坛里面单片机社区很多就是就瓶装新酒的帖子,颠来倒去不断的仿制。这本来无可厚非,学习嘛,都是这样一步一步走来的。但是一旦谁谁有了些创新设计,就有些伸手党们马上就一副债主讨债一样的索取,不给就好象失了德行一样。更有甚者,我的设计发布到论坛上,个把月不到,一模一样的东西就能在淘宝上搜到了,介绍里还说什么各种自主创新设计,我特么就呵呵了,于是从那以后我再没在网上发布过任何东西……
    大学时候学C语言老师都是以VS为平台讲解,但是微软标准的C库与文件让我总觉得不太踏实,所以我找到了一款叫做Codeblocks的开源IDE。我思想的转变,也是因为2015年12月份,我因为一个想法与需求,将这个叫CodeBlocks的开源IDE重新翻了出来,开始尝试折腾一个开源的,可以编写STM32工程的IDE,毕竟天天破解,心里总也犯膈应。
    但是很快我发现有人先我一步了,国外已经有了一个基于CodeBlocks的嵌入式IDE叫EmBitz。但是我心不死,开始接着发梦,如果能以CodeBlocks为基础改造或者参照CodeBlocks重写,创造一个能够通杀上下位机平台的开源IDE该多好,可以起个名字叫EmStudio,想想都觉得碉堡了!
    然后我又误打误撞的撞进了OSChina开源中国社区,在这里看到了很多开发者的分享,虽然不比GitHub,但是在国内来说已经很难得了。
    于是我突然觉得,开源,还是很美好,很有希望的!
    SimpleGUI发布于OSChina,链接如下:
    SimpleGUI使用MIT许可协议开源,可任意修改并重新发布,可免费用于商业用途。

6,标准化
    最终我决定将这个GUI系统,重新整理,规范和追加一些常用接口,并留出足够的拓展空间,力求做到简约而不简单!
    我悄悄的把之前的工程文件带到公司,开始删除一些实际的功能化代码,只留存界面绘图相关功能的代码,并加上详尽的注释。由于楼主在一家日企工作,电脑都是日语的,上班干这些也是偷偷的干,日语操作系统的ANSI为SHIFT-JIS编码,和中国的GB2312或GBK编码不同,如果写中文注释一定会乱码,如果写UTF-8格式,那么在汉字显示时,字符串的解码还会出问题。于是就像大伙儿即将看到的,注释都是英文,但是比较简单,请大家耐心看看。
    慢慢的,代码整理的差不多了,函数名、结构体名、变量名都已经尽可能的整理整齐,增强可读性,在19264的屏幕上试了试,效果不错,SimpleGUI就这样诞生了!
    当然,最初发布这个GUI时候,我连名字都没有想好,这里还要感谢论坛的朋友给我的灵感,给予了SimpleGUI这个名字。
   
7,走火入魔
    在SimpleGUI的开发与调试过程中,我又发现了一个新问题,因为一个GB2312字库挺大的,每次编译完了大概都有100多K,这还仅仅就是一级字库,往STM32里烧录需要大概30-40秒,有时候一点儿小改动想看看效果都要等上半分钟,一次两次还行,长久下来……这特么不能忍啊!
    于是我就想起了emWin的那个用VisualStudio运行的模拟器,然后就有了大家接下来要看到的这个东西!
    没错,这也是一款单色屏模拟器,前前后后折腾了一周时间,使用wxWidgets开源GUI框架和之前说过的CodeBlocks IDE进行开发,两者都是开源的,可以任意的修改并用于商业用途。而且这个模拟器的原理是我参照我之前写过的KS0108显示屏的驱动的逻辑原理写的,实现的代码基本可以无缝移植上去,以后就算出门,也可以用这个模拟器搞了,不用拖着开发板连着屏到处跑了,就这个Feel倍儿爽!
    而且,这个模拟器我还增加了保存LCD截屏和复制到剪贴板功能,也就是说,以后写说明书再也不用抱着手机照相了!
    模拟环境同样开源,方便大家基于SimpleGUI进行开发。
    SimpleGUISimulator.jpg
    SimpleGUISimulator-2.jpg
    SimpleGUISimulator-4.jpg

9,邪路
    在模拟器开发到一半的时候,我突然想到了另一种东西,那就是串口屏,某宝有卖,PLC的屏幕也是这个原理。
    我的模拟器都做到这份儿上了,难道就不能再进一步?如果有一根儿串口线,把电脑和单片机连起来,那么电脑能不能变成串口屏Plus?!
    于是,又有了一款叫做LCDSimulator的软件,算是SimpleGUI的一个衍生产物,发布在这里,大伙儿可以去看一下!

10,写在最后
    其实这一路折腾下来挺累的,从开发到维护到改进,前前后后一年有余,从闹心,到小有成果,到系统一点儿点儿逐步建立,再推倒重写,在一点儿点儿建立。直到有了今天的成果。
    这个东西我自己也会用到,拿出来也想方便大家使用和学习,楼主会不定期更新,但是楼主也不是全职搞这个,我也有工作,而且马上就要当爸爸了,琐碎事儿肯定会很多,更新频率不定,可能一天就一个更新,更有可能一个月都不冒泡!开发环境的具体使用方法已经在工程压缩包的Documents文件夹中了,请大家详细阅读。
    如果还有问题,请跟帖回复或发送邮件到326684221@qq.com
    开发环境和工程已上传至百度云:http://pan.baidu.com/s/1pLTnRTL
    最后还有一点儿小感想。
    首先,特别感谢wxWidgets技术群各位的帮助。
    在发表这篇帖子之前,刚和一个远在广西的朋友通过电话,其实是个网友,群里认识的,同为技术者,出来打点儿野食果腹。我们聊了一些自己最近研究的,以前研究的,研究一半儿搁置的……很多东西,突然发现,现在真的已经不是个人英雄的时代了,一个人再牛,也不可能样样精通,业务全覆盖,很多时候我们要借助别人的力量,但我们不是公司,我们借助的力量可能来自一个素未谋面的人,慢慢的,这种行为就变成了所谓“开源”,而在我的认识中,开源,就是一个大家学习、交流,取众人之长补己之短以致大成的过程。
    有些时候,经常能看到有些人在别人的发布贴上回帖,说自己是小白,敬佩大神之类的,很多时候,我挺反感这种回复。王侯将相,宁有种乎,谁都不是抱着键盘鼠标电烙铁出生的,都是踩着自己一行一行敲的的代码,一步一步爬向自己企及的高度。当然,人各有所长,不能用一个标准去衡量所有人,但是,就像之前说的,开源是一个集百家之大成的过程,也许我个人代码编码能力不足,但是或许我能提供一个或一套很好看的图标,或者在使用公共库的时候,发现了一个BUG,并公布出来告诉所有使用者和开发者……
    关于开源,我们能做的其实很多,甚至有时候,开发者们需要的可能仅仅就是个脑洞而已。
    开源不仅仅就是拿出来给大家玩玩,更是一种交流、学习、改进、创新的过程,开源软件中,更不乏可以比肩或超越同类收费软件的作品,在我看来,使用开源软件,可以省下的口袋里的银子,但与此同时,要多付一份责任。
    以上所有言论只代表个人观点,不针对任何个人,如有冒犯,还请见谅。

    致敬,每一位开源开发者。

其他内容:
    以下SimpleGUI的相关内容供大家学习与参考,同样不定期更新。
    1、STM32F103STM32F103+KS0108的SimpleGUI移植示例:

    2、基于SimpleGUI模拟环境重新重新开发的LCD串口模拟器LCDSimplator:
回复

使用道具 举报

  离线 

11

主题

173

帖子

0

精华

中级会员

Rank: 3Rank: 3

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


回复 支持 1 反对 0

使用道具 举报

  离线 

20

主题

108

帖子

2

精华

高级会员

Rank: 4

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

使用道具 举报

  离线 

113

主题

7460

帖子

12

精华

资深版主

Rank: 8Rank: 8

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

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

使用道具 举报

  离线 

13

主题

418

帖子

0

精华

高级会员

Rank: 4

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

使用道具 举报

  离线 

20

主题

108

帖子

2

精华

高级会员

Rank: 4

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

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

使用道具 举报

  离线 

485

主题

9万

帖子

30

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
120495
金钱
120495
注册时间
2010-12-1
在线时间
963 小时
发表于 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如何
回复 支持 反对

使用道具 举报

  离线 

113

主题

7460

帖子

12

精华

资深版主

Rank: 8Rank: 8

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

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

使用道具 举报

  离线 

9

主题

36

帖子

0

精华

高级会员

Rank: 4

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

使用道具 举报

  离线 

9

主题

136

帖子

0

精华

高级会员

Rank: 4

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

使用道具 举报

  离线 

31

主题

293

帖子

0

精华

中级会员

Rank: 3Rank: 3

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

使用道具 举报

  离线 

20

主题

542

帖子

1

精华

金牌会员

Rank: 6Rank: 6

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

回复 支持 反对

使用道具 举报

  离线 

20

主题

108

帖子

2

精华

高级会员

Rank: 4

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

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

使用道具 举报

  离线 

3

主题

20

帖子

0

精华

初级会员

Rank: 2

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

使用道具 举报

  离线 

16

主题

155

帖子

0

精华

中级会员

Rank: 3Rank: 3

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

使用道具 举报

  离线 

0

主题

253

帖子

0

精华

高级会员

Rank: 4

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

使用道具 举报

  离线 

1

主题

63

帖子

0

精华

中级会员

Rank: 3Rank: 3

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

使用道具 举报

  离线 

113

主题

7460

帖子

12

精华

资深版主

Rank: 8Rank: 8

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

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

使用道具 举报

  离线 

3

主题

22

帖子

0

精华

中级会员

Rank: 3Rank: 3

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

使用道具 举报

  离线 

13

主题

310

帖子

0

精华

高级会员

Rank: 4

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

使用道具 举报

  离线 

20

主题

108

帖子

2

精华

高级会员

Rank: 4

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

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

使用道具 举报

  离线 

20

主题

108

帖子

2

精华

高级会员

Rank: 4

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

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

使用道具 举报

  离线 

20

主题

108

帖子

2

精华

高级会员

Rank: 4

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

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

使用道具 举报

  离线 

20

主题

108

帖子

2

精华

高级会员

Rank: 4

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

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

使用道具 举报

  离线 

11

主题

302

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1092
金钱
1092
注册时间
2013-1-11
在线时间
203 小时
发表于 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

主题

165

帖子

1

精华

禁止访问

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

使用道具 举报

  离线 

20

主题

108

帖子

2

精华

高级会员

Rank: 4

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

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

使用道具 举报

  离线 

20

主题

108

帖子

2

精华

高级会员

Rank: 4

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

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

使用道具 举报

  离线 

20

主题

108

帖子

2

精华

高级会员

Rank: 4

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

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

使用道具 举报

  离线 

11

主题

173

帖子

0

精华

中级会员

Rank: 3Rank: 3

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

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

使用道具 举报

  离线 

11

主题

173

帖子

0

精华

中级会员

Rank: 3Rank: 3

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

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

使用道具 举报

  离线 

4

主题

98

帖子

0

精华

高级会员

Rank: 4

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

使用道具 举报

  离线 

20

主题

108

帖子

2

精华

高级会员

Rank: 4

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

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

使用道具 举报

  离线 

11

主题

173

帖子

0

精华

中级会员

Rank: 3Rank: 3

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

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

使用道具 举报

  离线 

3

主题

242

帖子

0

精华

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

  离线 

20

主题

108

帖子

2

精华

高级会员

Rank: 4

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

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

使用道具 举报

  离线 

37

主题

518

帖子

1

精华

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

  离线 

20

主题

542

帖子

1

精华

金牌会员

Rank: 6Rank: 6

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

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

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

使用道具 举报

  离线 

8

主题

189

帖子

1

精华

高级会员

Rank: 4

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

使用道具 举报

  离线 

3

主题

10

帖子

0

精华

中级会员

Rank: 3Rank: 3

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

使用道具 举报

  离线 

0

主题

11

帖子

0

精华

高级会员

Rank: 4

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

使用道具 举报

  离线 

20

主题

108

帖子

2

精华

高级会员

Rank: 4

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

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

使用道具 举报

  离线 

11

主题

174

帖子

0

精华

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

  离线 

11

主题

174

帖子

0

精华

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

  离线 

13

主题

45

帖子

1

精华

中级会员

Rank: 3Rank: 3

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

使用道具 举报

  离线 

4

主题

121

帖子

0

精华

高级会员

Rank: 4

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

使用道具 举报

  离线 

0

主题

1

帖子

0

精华

新手上路

Rank: 1

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

使用道具 举报

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

本版积分规则




QQ|联系我们|手机版|官方淘宝店|新浪微博|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2018-1-21 09:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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