Кракозябры на дисплее i2c arduino при передачи переменной из сторонней программы
- Войдите на сайт для отправки комментариев
Сб, 11/09/2021 - 15:52
Привет: использую java библиотеку: "PanamaHitek_Arduino-2.8.2.jar". Есть дисплей i2c c русской библиотекой LCD_1602_RUS.h.
Все работает нормально. Английский текст через переменную ip передается нормально.
Но, когда передаю переменную ip с русским текстом из java в arduino дисплей i2c, то вижу кракозябры:
А так в arduino, если писать русские буквы и присваивать этой же переменной, то нет проблем:
#include <LCD_1602_RUS.h> LCD_1602_RUS lcd(0x27,16,2); String ip=""; void setup() { Serial.begin(9600); lcd.init(); lcd.setBacklight(true);// Включаем подсветку дисплея lcd.setCursor(0, 1); //16, 0, 32 ,0 1 lcd.print(ip); } void loop() { if (Serial.available() > 0) { ip= Serial.readString(); //Вот Здесь и возникают кракозябры!!!!!!!!!!! lcd.clear(); lcd.setCursor(0, 0); lcd.print(ip); } }
За кодировки UTF-8 и Win-1251 чонить слышал?
Где нужно их прописывать?
Еще когда передаю из монитора порта в ардуино дисплей, то в конце текста почему возникает лишняя буква???
Где нужно их прописывать?
Ява передает, пусть она и перекодирует сначала. Сделай диагностику вообще, что у тебя в порт приходит
Спасибо, огромное, чел, на стэке нашел кое-что. Вот код на java. Прокатило!Так и сделал: сначала в java перекодировал в UTF-8, а потом - послал в arduino.
Не пойму: в среде NetBeans - Все работает на ура: запускаю проект - всё [ок], а когда запускаю с батника готовый файл .jar, то вижу, снова - [кракозябры]. Что подскажите искать в нете?
Перечитайте ответ №1.
Не чётко прописал, похоже ))))