本帖最后由 dgpower 于 2020-5-7 21:52 编辑
最新的marlin 1.1.X固件,不少小伙伴刷机后出现花屏现象
1、记录下 Configuration.h里面的主板型号,我的主板是BOARD_RAMPS_14_EFB
#define MOTHERBOARD BOARD_RAMPS_14_EFB
2、打开ultralcd_st7920_u8glib_rrd.h,找到下面这一行代码(一般是在第56行)
#elif MB(MINIRAMBO) || MB(EINSY_RAMBO) || MB(EINSY_RETRO)
修改成如下内容
#elif MB(MINIRAMBO) || MB(EINSY_RAMBO) || MB(EINSY_RETRO)|| MB(RAMPS_14_EFB)
它的作用就是让下面的三行延时代码被执行,延时时间不用改。 3、完整的代码发出来,供大家参考
#elif MB(MINIRAMBO) || MB(EINSY_RAMBO) || MB(EINSY_RETRO)|| MB(RAMPS_14_EFB)
#define CPU_ST7920_DELAY_1 DELAY_NS(0)
#define CPU_ST7920_DELAY_2 DELAY_NS(250)
#define CPU_ST7920_DELAY_3 DELAY_NS(0)
最后放一张刷新固件后正常的图
------------华丽丽的分割线-------------------------------------------------------------------------------------------
2020-5-5
今天再次测试了@水表君的方法,又能编译通过了。应该是我之前代码没有抄对:funk:
这里一并写出来,给大家多一个解决方案
在congfigaration.h关于LCD配置的段落里(可说搜索关键字:#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER),增加三行代码
#define ST7920_DELAY_1 DELAY_NS(0)
#define ST7920_DELAY_2 DELAY_NS(200) //花屏情况改变这个数值,每次增大50,我看到有大神用到400才解决问题
#define ST7920_DELAY_3 DELAY_NS(0)
完整的代码我这里放出来
---------------------------------------------------------------------------
总结:
1、修改ultralcd_st7920_u8glib_rrd.h文件和修改connfigaration.h文件,两个方法都能解决问题,但考虑到marlin固件配置一般都是只更改第二个文件。为了后面方便,推荐修改第二个文件,也就是水表君的方案。
2、遇到问题,中文网站找不到的,就去外文网站上找找,往往都有收获。
|