左边屏幕用的 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出现了。