我试着用程序来代替静态字符来节省一些有价值的空间。一切似乎都很好,但串行和液晶显示一些奇怪的换行符,而不是我的文字。
我想做的事:
...
#include <avr/pgmspace.h>
const static char PROGMEM textSDFailed[] = "Filesys failed";
const static char PROGMEM textSDAvailable[] = "Filesys is avail.";
...
lcd.print(textSDFailed);
...以及打印时我在液晶显示器上得到的信息:https://imgur.com/2waPkgZ
有人能帮我吗?
发布于 2020-07-21 18:06:27
您可以使用print,它接受一个逐行字符串。用于方案字符串的重载print以__FlashStringHelper*作为参数。这通常是针对Arduino F()宏的。
为了重复使用演员,我做:
#define FSH_P const __FlashStringHelper*然后我用这个方法:
lcd.print((FSH_P) textSDFailed);如果可以,直接使用F宏:
lcd.print(F("Filesys failed"));https://stackoverflow.com/questions/63019407
复制相似问题