我在许多论坛中进行了搜索,但没有找到我的问题的答案:
我试图了解3D打印机(Marlin固件)中的软件,发现以下c ++代码:
#define LCD_STR_BEDTEMP "\x00"
#define LCD_STR_DEGREE "\x01"
#define LCD_STR_THERMOMETER "\x02"
#define LCD_STR_UPLEVEL "\x03"
#define LCD_STR_REFRESH "\x04"
#define LCD_STR_FOLDER "\x05"
#define LCD_STR_FEEDRATE "\x06"
#define LCD_STR_CLOCK "\x07"
#define LCD_STR_ARROW_RIGHT "\x7E" /* from the default character set */
lcd.createChar(LCD_STR_BEDTEMP[0], bedTemp);
lcd.createChar(LCD_STR_DEGREE[0], degree);
lcd.createChar(LCD_STR_THERMOMETER[0], thermometer);
lcd.createChar(LCD_STR_UPLEVEL[0], uplevel);
lcd.createChar(LCD_STR_REFRESH[0], refresh);
lcd.createChar(LCD_STR_FOLDER[0], folder);
lcd.createChar(LCD_STR_FEEDRATE[0], feedrate);
lcd.createChar(LCD_STR_CLOCK[0], clock);
lcd.createChar
是我没有问题的Arduino命令,但我不理解的部分是为什么所有#define
字符串都以[0]结尾吗?谢谢你的帮助。
最佳答案
您的所有宏都会产生始终以\ 0终止的字符串文字。请显示lcd.createChar
函数的签名。也许会更加清楚问题所在。
关于c++ - “\x01” [0]为什么在字符串的末尾出现[0],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34763201/