длину строки увеличьте, как сказано выше. Потом снова попробуйте мой код из сообщения 14
char aux[30];
int a0 = 22;
int a1 = 31;
sprintf(aux, "T1 = %d T2 = %d", a0, a1);
Serial2.print("DC24(20,10,");
Serial2.print (aux);
Serial2.print(",2);\r\n");
Правильно? Все равно просто 0
Заметил если заменить %d на %s, то даже 0 не выводиться.
а если просто так
Тоже, даже нуля нет, ничего не выводиться
Одинарные кавычки видимо нужны ! И перевод строки в конце …
Тогда изучайте описание функции DC24(), вы как-то не так ее используете.
Например в этой записи мне удивительно, почему строка в одинарных кавычках?
но вы говорите, что это работает…
ааа, наверно да…
Пробуйте так:
int a0 = 22;
Serial2.print("DC24(20,10,'");
Serial2.print (a0);
Serial2.print("',2);\r\n");
int a0 = 22;
Serial2.print("DC24(20,10,'");
Serial2.print (a0);
Serial2.println("',2);\r\n")
DC24(x, y *str, c);
Третий параметр - указатель на символьный массив. Но указатель на текст в памяти ардуино, очевидно, не имеет никакого смысла для контроллера дисплея. Передавать указатель по УАРТ бесполезно.
Видимо этот текст надо сначала загрузить на дисплей?
Большое спасибо!!! Получилось вот так:
char aux[30];
int a0 = 22;
int a1 = 31;
sprintf(aux, "T1 = %d T2 = %d", a0, a1);
Serial2.print("DC24(20,10,' ");
Serial2.print (aux);
Serial2.println(" ',1);\r\n");
А так Ищу библиотеку ESP32 для работы с дисплеем UART TFT 240*320 - #28 от пользователя Komandir не сработало ???
sprintf
- очень “дорогая” операция (по крайней мере для AVR) …
Сработало, но только с использованием sprintf.
Что то вы не так делаете !!! И там и там в порт летят готовые символы … Главное не забыть передать ОДИНАРНЫЕ кавычки.