1.U8G2是嵌入式设备的单色图形库,Arduino和RT-Thread都支持,包含大量的图形程序(绘画直线/方框/圆圈),支持多种语言多种字体,涵盖几乎所有流行的控制器:SSD1305,SSD1306,SSD1309,SSD1322,SSD1325,SSD1327,SSD1329,SSD1606,SSD1607,SH1106,SH1107,SH1108,SH1122,T6963,RA8835,LC7981,PCD8544,PCF8812,HX1230,UC1601,UC1604,UC1608,UC1610,UC1611,UC1701,ST7565,ST7567, ST7588,ST75256,NT7534,IST3020,ST7920,LD7032,KS0108,SED1520,SBN1661,IL3820,MAX7219。
2.RT-Thread Studio按照RT-Thread Settings->添加软件包,搜索u8g2,如下:
此处出现两个版本: “老版本”和“上游官方版本”,请务必选择“老版本”,“上游官方版本”暂时不能成功编译。
3.RT-Thrrad Settings详细设置如下:
1)“使能I2C1 BUS(软件模拟)”无需使能:
2)最基本的example如下设置,特别注意要“Use C++”,在msh>下执行命令u8g2_ssd1306_12864_sw_i2c_example(串口调试助手有可能显示不全,需要到packages->u8g2-latest->examples->ssd1306_12864_sw_i2c_ecample.cpp查询具体命令)
如图,ssd1306_12864_sw_i2c_ecample.cpp中默认的SCL和SDA引脚为别为22和23,需要根据况加以修改,例如改为25、24(把OLED模块直接插入NUCLEO-F411RE开发板以方便使用):
效果如图所示:
3.在SSD1306:bsaic example for SPI OLED(software)下还有个使能按钮,点中后会产生st7920_12864_8080_example示例,为OLED裸片驱动。
4.点开U8G2 Examples有4个选项列表,可继续点开,例如full buffer examples(fast,large RAM consumption)之U8G2 Logo:Print U8G2 Logo,编译,下载,运行u8g2_page_buffer_u8g2_logo,效果如图:
5.编译时会出现个别Warnning,可不予理睬,也可根据需要注释掉相关语句即可。
6.串口调试助手可能显示不全,导致MSH>help时无法识别正确的命令,可点开packages->u8g2-latest->examples下相应的cpp文件,在最后找到MSH_CMD_EXPORT语句,第一个参数即为命令,运行之即可。