Arduino SSD1306_OLED不依赖库直驱显示
引用的第三方SSD1306库驱动都是申请1KB芯片内存做为显示缓冲,这样在不添加其它功能代码情况下编译就占用50%的内存空间。百试不爽,只好用现成驱动封装一个不申请空间的SSD1306库了。中英文混合显示。 #include "OLED.h" OLED oled; void setup(void){ Serial.begin(9600); oled.Init(); oled.Clear(); oled.ShowString(88, 0, 12, "POWER", 1); oled.ShowString(88, 1, 12, "20.4V", 1); oled.ShowCHinese(0, 0, "95%", 1); oled.ShowCHinese(28, 0, "{||||}", 1); //功率条显示 oled.ShowString(88, 2, 12, "T:05M", 1); oled.ShowString(88, 4, 16, " ", 0); //空白符填充 oled.ShowNum(94, 4, 328, 3, 16, 0); //设置温度显示 oled.ShowString(119, 4, 16, "`", 0); //小温度圈 oled.ShowCHinese(96, 6, "箭 ", 1); //oled.Pixel(100, 60); } void loop(void){ for (u16 i = 0; i < 255; i++) { //oled.BrigControl(i); //屏幕亮度设置 oled.ShowNum48(0, 3, i, 3, 1); oled.ShowCHinese(72, 3, "圈", 1); //大温度圈 oled.ShowString(118, 6, 16, "~", 1); //加热点 oled.ShowCHinese(28, 0, "{||} ", 1); //功率条显示 oled.ShowCHinese(0, 0, "65", 1); delay(10); oled.ShowString(118, 6, 16, " ", 1); oled.ShowCHinese(28, 0, "{|||} ", 1); //功率条显示 oled.ShowCHinese(0, 0, "80", 1); delay(10); } }