MakerLab创客实验室 — Let's Make something.
现在注册
已注册用户请 登入
chuangrui large avatar
MakerLab创客实验室  ›  固件

固件验证提示出错,换了其他的固件显示屏不显示 'u8g_fntpgm_uint8_t' does not name a type

By chuangrui at 2 年前 , 5465 次浏览

固件验证提示出错,换了其他的固件显示屏不显示Arduino:1.5.5-r2 (Windows XP), 板:"Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"

In file included from /dogm_lcd_implementation.h:38,
from ultralcd.cpp:36:
dogm_font_data_marlin.h:13: error: 'u8g_fntpgm_uint8_t' does not name a type
dogm_font_data_marlin.h:172: error: 'u8g_fntpgm_uint8_t' does not name a type
dogm_font_data_marlin.h:356: error: 'u8g_fntpgm_uint8_t' does not name a type
In file included from ultralcd.cpp:36:
dogm_lcd_implementation.h:94: error: 'U8GLIB_MINI12864' does not name a type
/dogm_lcd_implementation.h: In function 'void lcd_implementation_init()':
dogm_lcd_implementation.h:114: error: 'u8g' was not declared in this scope
dogm_lcd_implementation.h:116: error: 'u8g_font_6x10_marlin' was not declared in this scope
dogm_lcd_implementation.h:140: error: 'u8g_font_6x10_marlin' was not declared in this scope
dogm_lcd_implementation.h:142: error: 'u8g_font_5x8' was not declared in this scope
dogm_lcd_implementation.h:147: error: 'chinese' was not declared in this scope
/dogm_lcd_implementation.h: In function 'void lcd_printPGM(const char*)':
dogm_lcd_implementation.h:188: error: 'u8g' was not declared in this scope
/dogm_lcd_implementation.h: In function 'void lcd_implementation_status_screen()':
dogm_lcd_implementation.h:198: error: 'u8g' was not declared in this scope
dogm_lcd_implementation.h:214: error: 'u8g_font_6x9' was not declared in this scope
dogm_lcd_implementation.h:348: error: 'u8g_font_6x10_marlin' was not declared in this scope
dogm_lcd_implementation.h:358: error: 'chinese' was not declared in this scope
/dogm_lcd_implementation.h: In function 'void lcd_implementation_drawmenu_generic(uint8_t, const char*, char, char)':
dogm_lcd_implementation.h:376: error: 'u8g' was not declared in this scope
dogm_lcd_implementation.h:383: error: 'u8g' was not declared in this scope
dogm_lcd_implementation.h:385: error: 'u8g' was not declared in this scope
/dogm_lcd_implementation.h: In function 'void lcd_implementation_drawmenu_setting_edit_generic(uint8_t, const char*, char, char*)':
dogm_lcd_implementation.h:410: error: 'u8g' was not declared in this scope
/dogm_lcd_implementation.h: In function 'void lcd_implementation_drawmenu_setting_edit_generic_P(uint8_t, const char*, char, const char*)':
dogm_lcd_implementation.h:434: error: 'u8g' was not declared in this scope
/dogm_lcd_implementation.h: In function 'void lcd_implementation_drawedit(const char*, char*)':
dogm_lcd_implementation.h:490: error: 'u8g' was not declared in this scope
dogm_lcd_implementation.h:492: error: 'chinese' was not declared in this scope
/dogm_lcd_implementation.h: In function 'void lcd_implementation_drawmenu_sdfile_selected(uint8_t, const char*, const char*, char*)':
dogm_lcd_implementation.h:517: error: 'u8g' was not declared in this scope
/dogm_lcd_implementation.h: In function 'void lcd_implementation_drawmenu_sdfile(uint8_t, const char*, const char*, char*)':
dogm_lcd_implementation.h:546: error: 'u8g' was not declared in this scope
/dogm_lcd_implementation.h: In function 'void lcd_implementation_drawmenu_sddirectory_selected(uint8_t, const char*, const char*, char*)':
dogm_lcd_implementation.h:572: error: 'u8g' was not declared in this scope
/dogm_lcd_implementation.h: In function 'void lcd_implementation_drawmenu_sddirectory(uint8_t, const char*, const char*, char*)':
dogm_lcd_implementation.h:603: error: 'u8g' was not declared in this scope
ultralcd.cpp: In function 'void lcd_update()':
ultralcd.cpp:1114: error: 'u8g' was not declared in this scope
ultralcd.cpp:1118: error: 'chinese' was not declared in this scope

报告将会包含更多的信息
"Show verbose output during compilation"
在 文件>首选项 中启用

14 回复
Andy medium avatar
#1 - 2 年前
Andy

这个错误需要导入u8glib这个库,

操作方法:
ArduinoAddons->Arduino_1.x.x->libraries下面的U8glib目录需要拷贝到你的IDE目录->libraries下(或我的文档->Arduino->libraries),这样在使用Mini Panel时不会出错。


将上图中的u8glib文件夹,拷贝到下图Arduino IDE文件夹中的Libraries文件夹中

chuangrui medium avatar
#2 - 2 年前
chuangrui

谢谢,导入了可以刷了,只是还是刷完了显示屏没有文字显示,我的主板是 arduino mega2560的 配了个扩展卡,用的显示屏是128*64的

Andy medium avatar
#3 - 2 年前
Andy

@chuangrui 板子类型需要配置,
1、如果是我的合体板子,板子类型应该是310
2、如果是ramps1.4板子,板子类型应该是33

dayen2 medium avatar
#4 - 2 年前
dayen2

佩服有耐性。小白菜的福星

improve100 medium avatar
#5 - 2 年前
improve100

@Andy 我的也是下载官网的固件后。板子ultimaker+mega2560。可以用串口打印。但是液晶不能显示。刷的时候没有提示错误。我也把u8glib加载到library中了。我的Ide版本是0023

Andy medium avatar
#6 - 2 年前
Andy

@improve100 什么型号的lcd?确定与ultimaker接口兼容才可以

jackylin medium avatar
#7 - 2 年前
jackylin

这固件是不是要买你的板才能倒入这中文固件,我的板是ramps1.4+12864的LCD,刷入后,液晶一样不能显示,求教

bo_du medium avatar
#9 - 一年前
bo_du

@jackylin 那个 ok 了 能不能 告诉我 修改 那些 地方 啊 ,搞了三天了

bo_du medium avatar
#10 - 一年前
bo_du

构建选项已变更,全部重新构建
Marlin.ino:44:101: fatal error: U8glib.h: No such file or directory
compilation terminated.
编译有误。

我已经试了 好像编译的时候还是不行

chemol medium avatar
#11 - 一年前
chemol

我的板是ramps1.4+12864的LCD,刷入后,液晶一样不能显示,求教

chemol medium avatar
#12 - 一年前
chemol

白屏

chemol medium avatar
#13 - 一年前
chemol

拨出USB后重插就有了

Loken medium avatar
#14 - 11 个月前
Loken   via Android

//#define Z_DUAL_STEPPER_DRIVERS //删除前面的双斜杠删除后 代码错误 不能烧固件