& quot; \ x01 & quot; [0] Почему в конце строки присутствует [0]

Я искал на многих форумах, но не нашел ответа на свой вопрос:

Я пытаюсь понять программное обеспечение внутри моего 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]?

Спасибо за любую помощь.

1

Решение

Все ваши макросы производят строковые литералы, которые всегда заканчиваются на \ 0. Пожалуйста, покажите подпись lcd.createChar функция. Возможно, будет более понятно, в чем проблема.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]