
左边屏幕用的 U8GLIB_ST7920_128X64_1X u8g
右边屏幕用的 U8GLIB_ST7920_128X64_RRD
使用的时候去掉// 不用的要加上///
折腾了几天 屏幕拆了对比 才折腾出来的方法 bigtree-tech.com历史遗留的产物一个说明都没我靠
差点翻车还好折腾出来了。D4引脚
实验对象Marlin-1.1.8
更改文件 ultralcd_impl_DOGM.h
// LCD selection
 #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
   U8GLIB_ST7920_128X64_4X u8g(LCD_PINS_RS); // 2 stripes
   // U8GLIB_ST7920_128X64 u8g(LCD_PINS_RS); // 8 stripes
 #elif ENABLED(U8GLIB_ST7920)
   //U8GLIB_ST7920_128X64_4X u8g(LCD_PINS_D4, LCD_PINS_ENABLE, LCD_PINS_RS); // Original u8glib device. 2 stripes
                                                                             // No 4 stripe device available from u8glib.
   U8GLIB_ST7920_128X64_1X u8g(LCD_PINS_D4, LCD_PINS_ENABLE, LCD_PINS_RS);    // Original u8glib device. 8 stripes
   //U8GLIB_ST7920_128X64_RRD u8g(0); // Number of stripes can be adjusted in ultralcd_st7920_u8glib_rrd.h with PAGE_HEIGHT
测试3D打印机12864屏幕好坏的方法
首先用arduino 的管理库下载U8glib的库文件,选择U8glib 目前是Oliver的1.19.1版本,见下图3

图3
 全部亲测可执行的代码如下:
#include "U8glib.h"
 
U8GLIB_ST7920_128X64_1X u8g(23, 17, 16);
 
// draw函数用于包含实现显示内容的语句
void draw() {
  // 设置字体
u8g.setFont(u8g_font_unifont);
  // 设置文字及其显示位置
  u8g.drawStr( 0, 20, "Hello Arduino");
}
 
void setup() {
  // put your setup code here, to run once:
  // u8glib图片循环结构:
  u8g.firstPage();  
  do {
    draw();
  } 
while( u8g.nextPage() );
  // 等待一定时间后重绘
  delay(500);
}
 
void loop() {
  // put your main code here, to run repeatedly:
  
} 
 显示效果如下图4:
图4

 使用u8glib在LCD12864让编程教科书上的HELLO出现了。










