这个仓库是我以前移植 u8g2 到 RT-Thread 的版本,现在对应的移植已经 upstream 到 u8g2 的官方仓库了,所以可以直接用官方仓库了。 - 2021.09.30
u8g2 原先是 Arduino 平台上的一个单色屏驱动,现在移植到了 rt-thread,可以满足各种各种各样的需求。
游戏开发 (examples/games/space_trash)
用户界面 (examples/page_buffer/icon_menu)
绘图 (examples/page_buffer/graphic_test)
使用 u8g2 的好处在于它支持近 200 种单色屏,同样的代码可以直接运行在不同的屏幕上,比如前面的游戏可以在各种屏幕上运行:
经典 128x64
OLED SSD1306 I2C
在这里可以看到所有支持的屏幕:
https://github.com/olikraus/u8g2/wiki/gallery
中文
韩文
日文
梵文
支持各种绘图函数,而且自带各种 icon
总结一下 u8g2 的特点:
说明:目录结构
名称 | 说明 |
---|---|
docs | 文档目录 |
examples | 例子目录 |
src | 源代码目录 |
port | 针对特定平台的移植代码目录 |
The U8g2lib code (http://code.google.com/p/u8g2/) is licensed under the terms of the new-bsd license (two-clause bsd license). See also:
http://www.opensource.org/licenses/bsd-license.php
The repository and optionally the releases contain icons, which are derived from the WPZOOM Developer Icon Set. WPZOOM Developer Icon Set by WPZOOM is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
http://www.wpzoom.com/wpzoom/new-freebie-wpzoom-developer-icon-set-154-free-icons/
Fonts are licensed under different conditions.for detailed information on the licensing conditions for each font.
https://github.com/olikraus/u8g2/wiki/fntgrp
Check full LICENCE here.
说明:如果使用 I2C 液晶屏需要开启 I2C,GPIO 模拟 I2C 。
说明:如果使用 SPI 液晶屏需要开启 SPI 。
使用 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 --->
然后让 RT-Thread 的包管理器自动更新,或者使用 pkgs --update
命令更新包到 BSP 中。
一共有50个例程,可以在源码 docs 目录下看到预览图。默认的例程都是用的软件I2C,如果觉得速度比较慢可以使用硬件I2C。