Відповісти

Введіть повідомлення і натисніть Надіслати
Параметри

Назад

Огляд теми (нові повідомленні вгорі)

shrek
2024-10-28 11:32:06

Проблему решил.
void SendEnd0() {
  for (int i = 0; i < 3; i++) {
    Serial.write(0xff);
  }
}
Вместо print -> write
Спасибо всем

dimich
2024-10-27 10:53:33
Honey пише:

При використанні "попередній перегляд" один бекслеш зникає в вікні вводу тексту, тому доводиться ще раз розставляти дублі.

Дійcно, так працює. Виправив попередній пост. Дякую.

Honey
2024-10-27 10:13:27
dimich пише:

Вставив картинкою бо форумний двіжок зʼїдає бекслеші в тексті

Ставте два бекслеша підряд. При використанні "попередній перегляд" один бекслеш зникає в вікні вводу тексту, тому доводиться ще раз розставляти дублі.

dimich
2024-10-26 21:49:12
shrek пише:
void SendString(String dev, String data) {
...
  dev = "";
  data = "";
}

Який сенс присвоєння у локальні змінні, коли вони далі у функції вже не використовуються?

shrek пише:
  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"));

щоб не копіювати строку в ОЗУ, а читати прямо з флеші.

Також приклади є в документації.

shrek
2024-10-26 15:03:28

Serial2.print("Date.n2.val=12");
  Serial2.print(0xff);
  Serial2.print(0xff);
  Serial2.print(0xff);

Это не прокатывает

shrek
2024-10-26 14:58:31

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:21:21

Коньяк с меня, тому кто первый поможет. Исходники отправлю.

shrek
2024-10-26 13:14:56

Ситуация такая. Есть ардуино мега и 10 дюймовый дисплей. Резистивный. С дисплея данные получаю. А на дисплей отправить не могу.
Железо проверил -и на дисплее и на ардуино TX RX работают. На ардуино мега 2 сериал. Где-то запятую пропустил наверно. Базировался на этом : https://www.youtube.com/watch?v=xSqxgi1-6Ek&list=PLHD7mp5tCMLWqfUv6VBxjwdPFYuuybWXy&index=6
Сроки - 3 дня.

Підвал форуму