Ви не увійшли.
Ситуация такая. Есть ардуино мега и 10 дюймовый дисплей. Резистивный. С дисплея данные получаю. А на дисплей отправить не могу.
Железо проверил -и на дисплее и на ардуино TX RX работают. На ардуино мега 2 сериал. Где-то запятую пропустил наверно. Базировался на этом : https://www.youtube.com/watch?v=xSqxgi1-6Ek&list=PLHD7mp5tCMLWqfUv6VBxjwdPFYuuybWXy&index=6
Сроки - 3 дня.
Неактивний
void SendString(String dev, String data) {
Serial2.print(dev);
Serial2.print("=");
Serial2.print(data);
SendEnd();
dev = "";
data = "";
}
void SendInt(String dev, int data) {
Serial2.print(dev);
Serial2.print("=");
Serial2.print(data);
SendEnd();
dev = "";
data = "";
}
void SendEnd() {
for (int i = 0; i < 3; i++) {
Serial2.print(0xff);
}
}
Остання редакція shrek (2024-10-26 14:59:21)
Неактивний
void SendString(String dev, String data) { ... dev = ""; data = ""; }
Який сенс присвоєння у локальні змінні, коли вони далі у функції вже не використовуються?
for (int i = 0; i < 3; i++) { Serial2.print(0xff); }
Serial::print() перевантажена для різних типів аргументів. Тут ви передаєте int, що призводить до виводу символів десяткового представлення числа, тобто "255", а не символа з кодом 255 (0xFF).
Також нема особливого сенсу виводити символи в циклі по одному, це не дає тут ніякої переваги.
Спробуйте
Serial2.print("\xff\xff\xff");
А ще краще
Serial2.print(F("\xff\xff\xff"));
щоб не копіювати строку в ОЗУ, а читати прямо з флеші.
Також приклади є в документації.
Остання редакція dimich (2024-10-27 10:50:23)
Неактивний
Вставив картинкою бо форумний двіжок зʼїдає бекслеші в тексті
Ставте два бекслеша підряд. При використанні "попередній перегляд" один бекслеш зникає в вікні вводу тексту, тому доводиться ще раз розставляти дублі.
Неактивний
При використанні "попередній перегляд" один бекслеш зникає в вікні вводу тексту, тому доводиться ще раз розставляти дублі.
Дійcно, так працює. Виправив попередній пост. Дякую.
Остання редакція dimich (2024-10-27 10:55:18)
Неактивний