以下文章内容由CW32生态社区用户口头提供:
https://github.com/KOUFU-DIY/WeGui_RGB
WeGui是一个高效的图形库,其特点是执行效率高,主要以单色驱动。其功能与U8G2类似。它支持移植到各种平台,支持OLED,还扩展了对彩屏的支持。
此WeGUI已适配武汉鑫源CW32L012C8T6,后续会添加DMA驱动。
WeGui内置高效SPI TFT驱动器,不仅支持单色,还支持多色。内置1位色、2位色、3位色可选,颜色主题可定制。
除了支持点、线、面、文本之外,WeGui 还内置了简单的链表多级菜单演示。
WeGui成立于2025年6月。最初,WeGui仅支持OLED屏幕。随着作者的更新,它现在支持各种TFT和灰度OLED,可以在.h文件中轻松切换。
显示OLED 屏幕
随着屏幕分辨率的提高,我们其实更关心RAM是否足够。
目前,WeGui现已支持“全屏缓存”和“页面缓存”。页缓存占用的空间很小。最低支持设置1行缓存。当然,缓存越大,刷新速度就越快。页缓存功能可以轻松应对各种大屏TFT,并且可以在.h文件中轻松切换xii Ancun驱动类型。
为了快速上手,笔者对市面上CW32L012等多个品牌的各类屏幕进行了大量适配。它真正可以使用,驱动波形连续且高效。有兴趣的可以详细了解一下。
为了方便驱动学习,作者还更新了直驱demo。
驱动代码直观,易于理解工作原理。如果不需要菜单demo,也可以直接手动驱动。
同时,作者还搭建了一台上位机,可以轻松对UTF8文本进行建模。
作者非常关心的GUI也有自己的开发板。由于CW32L012C8等主流C8T6芯片都是PIN-to-PIN的,因此可以通过锁紧座直接更换模块。
应网友要求,现已支持编码器。
高效旋转编码器的编码查询仅需1ms,基本不存在漏识别问题。简单高效的编码器代码效果如下
其他芯片版本的开发板已经带有蜂鸣器,可以播放周杰伦的歌曲《晴天》
该开发板还支持插件flash。作者的初衷是为了播放视频。同时他还制作了一套视频压缩RLE算法建模工具。压缩后,体积极小的、低色彩的图像体积可以压缩到自身的20%以下。该工具目前开源免费,正在逐步完善flash功能,稍后将更新为GUI演示。
以下为粉丝网友转载
WeGui这个名字来源于作者在B站提交的一些手卷单色屏gui玩法,网友强烈要求他开源。本着开源的精神,他在myGUI、meGUI 和yourGUI 的各种主谓宾属性中选择了WeGui。
作者是Power Generation,免费开源。欢迎测试反馈。
https://github.com/KOUFU-DIY/WeGui_RGB
下面介绍一下作者在使用CW32L012适配WeGUI时发现的“彩蛋”。
一般来说,在低端小RAM微控制器中,读取Flash指令需要时间。如果运行在24MHz以下,FLASH取指令可以实现0等待。 48MHz以下一般需要1个等待周期,72MHz则需要2个等待周期。等等,包括STM32F103,也需要Flash等待,所以等待FLASH读指令占用了大量的运行时间。
高端微控制器可以将Flash读入RAM中进行操作,但消费级芯片往往没有这么大的RAM空间。
为了解决代码运行效率这个问题,CW32L012在硬件中内置了一项“指令预取”黑科技。原理是先读一条指令再去flash。连续读取指令时,运行效率约等于0等待。
开启指令预取后,FPS飙升至123Hz!有细心的玩家发现过这个“彩蛋”吗?
评论编辑黄宇
标题:WeGUI高效多色图形库
链接:https://yqqlyw.com/news/sypc/62961.html
版权:文章转载自网络,如有侵权,请联系删除!