软件包大赏第6期| u8g2 单色驱动屏软件包

网友投稿 2019-05-11 21:27

往期回顾:

1. 软件包大赏第5期 | 机器人操作系统(ROS)软件包 rosserial

2. 软件包大赏第4期| MEAS MS5611 通用传感器驱动包

3. 软件包大赏第3期| NNoM神经网络软件包,让MCU也神经一把

4.软件包大赏第2期| SX12XX Lora芯片软件包

5.软件包大赏第1期|新增软件包——LIBMODBUS

https://cdn.china-scratch.com/timg/190513/212H94332-0.jpg

软件包贡献者吴晗,现在是华中科技大学能源学院研究生,专业是工程热物理,今年6月份就要毕业了。u8g2软件包是他贡献的第二个软件包,第5期推送的ROS机器人操作系统软件包,也是出自吴晗,有兴趣的童鞋可以了解一下!

                      

u8g2 介绍

1. 简介

u8g2 原先是 Arduino 平台上的一个单色屏驱动,现在移植到了 RT-Thread,可以满足各种各种各样的需求:

游戏开发 (examples/games/space_trash)

https://cdn.china-scratch.com/timg/190513/212H94Q7-1.gif

用户界面 (examples/page_buffer/icon_menu)

https://cdn.china-scratch.com/timg/190513/212I22021-2.gif

绘图 (examples/page_buffer/graphic_test)

https://cdn.china-scratch.com/timg/190513/212I45036-3.gif


U8G2 特点

2.1 支持屏幕多,移植方便

使用 u8g2 的好处在于它支持近 200 种单色屏,同样的代码可以直接运行在不同的屏幕上,比如前面的游戏可以在各种屏幕上运行:

经典 128x64

https://cdn.china-scratch.com/timg/190513/212ISa3-4.gif

OLED SSD1306 I2C

https://cdn.china-scratch.com/timg/190513/212H94Q7-1.gif

OLED SSD1306 SPI

https://cdn.china-scratch.com/timg/190513/212ISa3-4.gif

在这里可以看到所有支持的屏幕:

https://github.com/olikraus/u8g2/wiki/gallery

https://github.com/RT-Thread/rt-thread(喜欢RT-Thread,不要忘了点个星星哦https://cdn.china-scratch.com/timg/190513/212J131Z-7.jpg

2.2 支持字体多

中文

https://cdn.china-scratch.com/timg/190513/212J14M4-8.jpg

韩文

https://cdn.china-scratch.com/timg/190513/212J14116-9.jpg

日文

https://cdn.china-scratch.com/timg/190513/212J1E11-10.jpg

梵文


https://cdn.china-scratch.com/timg/190513/212J15250-11.jpg

2.3 绘图函数多

支持各种绘图函数,而且自带各种 icon

https://cdn.china-scratch.com/timg/190513/212J26413-12.gif
https://cdn.china-scratch.com/timg/190513/212J34162-13.gif

总结一下 u8g2 的特点:  

  • 支持近 200 种单色屏,移植方便

  • 支持各种绘图函数、图像与非操作,自带用户按键检测

  • 支持 unicode 和 utf8,自带 100 多种字体和 100 多个 icon

RT-Thread 使用 u8g2

3.1 选择软件包

使用 u8g2 package 需要在 RT-Thread 的包管理器中选择它,具体路径如下:

RT-Thread online packages
peripheral libraries and drivers --->
  [*] U8G2: a u8g2 package for rt-thread
          [*] Use hardware spi                                                                  
            (spi1) spi bus name (NEW)              
            (spi10) spi device name (NEW)    
          [*] Use hardware i2c          
            (i2c2) i2c device name
          U8G2 Examples --->

一共有50个例程,可以在源码 docs 目录下看到预览图。默认的例程都是用的软件I2C,如果觉得速度比较慢可以使用硬件I2C。

3.2 编译

然后更新软件包,生成项目文件:

pkgs --update
scons --target=mdk5 -s

项目主页: https://github.com/wuhanstudio/rt-u8g2  

原始项目: https://github.com/olikraus/u8g2  

(请将以上链接复制至外部浏览器打开)

/

REVIEW

社区贡献

贡献软件包还有奖励可以领哦~

https://cdn.china-scratch.com/timg/190513/212J330D-14.gif

1、贡献突出者年底将可以参与评选RT-Thread年度社区杰出贡献奖!

2、参与贡献软件包者,可以获得我们官方1v1的支持

3、软件包贡献数量达到3个及3个以上将可以获得——熊大签名的RT-Thread相关书籍一本

 https://cdn.china-scratch.com/timg/190513/212J45U0-15.jpg

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com