#include <U8g2lib.h>
#include <Wire.h>
#define SCL 16
#define SDA 17
U8G2_SH1106_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, /*clock=*/SCL, /*data=*/SDA, /*reset=*/U8X8_PIN_NONE);
// LED显示任务
void led_task(void *param_t){
for(;;){
// 清理缓冲区
u8g2.clearBuffer();
// 打印文字
u8g2.setFont(u8g2_font_profont10_tf);
u8g2.drawStr(40, 42, "2018.06.08");
u8g2.setFont(u8g2_font_unifont_t_symbols);
u8g2.drawStr(40, 30, "FM181.9");
u8g2.setFont(u8g2_font_7x14_mr);
u8g2.drawStr(1, 64, "Menv");
u8g2.drawStr(100, 64, "MSN");
u8g2.setFont(u8g2_font_6x12_t_cyrillic);
u8g2.drawStr(80, 10, "4G");
//电池
u8g2.drawFrame(102, 3, 3, 5); //小空心框
u8g2.drawFrame(105, 1, 18, 9);//大空心框
u8g2.drawBox(107, 3, 2, 5); //实心矩形
u8g2.drawBox(110, 3, 2, 5); //实心矩形
u8g2.drawBox(113, 3, 2, 5); //实心矩形
u8g2.drawBox(116, 3, 2, 5); //实心矩形
u8g2.drawBox(119, 3, 2, 5); //实心矩形
//信号
u8g2.drawLine(1, 1, 6, 7); //左斜线
u8g2.drawLine(11, 1, 6, 7);//右斜线
u8g2.drawHLine(1, 1, 11); //横线
u8g2.drawVLine(6, 1, 10); //竖线
u8g2.drawVLine(8, 9, 2); //竖线
u8g2.drawVLine(10,8, 3); //竖线
u8g2.drawVLine(12, 7, 4); //竖线
u8g2.drawVLine(14, 6, 5); //竖线
u8g2.drawVLine(16, 5, 6); //竖线
//中间框
u8g2.drawBox(32,16,64,2);//上横线
u8g2.drawBox(32,33,64,2);//下横线
u8g2.drawBox(32,18,3,6);//左上竖矩形
u8g2.drawBox(98,16,3,8);//右上竖矩形
u8g2.drawBox(32,28,3,6);//左下竖矩形
u8g2.drawBox(98,28,3,6);//右下竖矩形
u8g2.drawBox(32,16,8,3);//左上横矩形
u8g2.drawBox(92,16,8,3);//右上横矩形
u8g2.drawBox(32,32,9,3);//左下横矩形
u8g2.drawBox(92,32,9,3);//右下横矩形
//下面小方框
u8g2.drawLine(62,54,62,68);//左竖线
u8g2.drawLine(70,54,70,68);//右竖线
u8g2.drawLine(62,54,70,54);//第一条横线
u8g2.drawLine(62,57,65,57);//第二条横线
u8g2.drawLine(62,59,68,59);//第三条横线
u8g2.drawLine(62,62,66,62);//第四条横线
// 显示内容
u8g2.sendBuffer();
delay(100);
}
}
void setup() {
Serial.begin(115200);
u8g2.begin();
xTaskCreatePinnedToCore(led_task, "LED-DISP", 10240, NULL, 1, NULL, 1);
}
void loop() {
delay(100);
}