LCD Smartie артефакты на 20х04
- Войдите на сайт для отправки комментариев
Добрый день.
Я новичек, появился вопрос. Подскажите пожалуйста, поиск в инете не дал ответа.
При попытке вывода информации с ПО lcd_smartie_v5.4 (скачана с офф сайта) на дисплей 2004А(с i2c конвертером) получаю артефакты на первых символах, как у этого человека:
http://forum.arduino.cc/index.php?topic=260439.0
Пробовал и по i2c (LiquidCrystal_I2C.h), и напрямую (LiquidCrystal.h) с контактов экрана. При этом из скетча с ардуинки текст выводится без артефактов корректно в обоих вариантах подключения. Плагин в LCD Smartie выбран matrix.dll.
Проверял на arduino ide 1.8.2 и 1.6.4, скетч брал из примеров "SerialDisplay" для соответствующего подключения.
По указанной ссылке люди пишут про что-то там некорректное перемещение курсора, но как это исправить я так и не понял. Заранее большое спасибо за помощь.
там пишется, что тебе нужно фильтровать символы <CR> и <LF>
Собственно как это сделать? Это в скетче ардуино или ПО LCD Smartie? Может инструкция есть или где уже обсуждалось?
Собственно как это сделать? Это в скетче ардуино или ПО LCD Smartie? Может инструкция есть или где уже обсуждалось?
в скетче
что там обсуждать, если никто не видит твоего скетча?
Скетч из стандартных примеров: LiquidCrystal -> SerialDisplay
Мы эти примеры сами искать должны или Вы всё же покажете нам Ваш скетч?
#include <LiquidCrystal.h> // initialize the library with the numbers of the interface pins LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() { // set up the LCD's number of columns and rows: lcd.begin(16, 2); // initialize the serial communications: Serial.begin(9600); } void loop() { // when characters arrive over the serial port... if (Serial.available()) { // wait a bit for the entire message to arrive delay(100); // clear the screen lcd.clear(); // read all the available characters while (Serial.available() > 0) { // display each character to the LCD lcd.write(Serial.read()); } } }Пробовал и стандартное значение 16, 2, и менял на 20, 4. Некорректные символы всё равно есть.
Ну, Вам же сказали, отфильтруйте перевода каретки и возвраты строки.
Вместо того, чтобы в строке 23 тупо писать на экран всё, что прилетело из сериала, прочитайте пришедший символ и выводите его на экран только в том случае, если он не равен ни '\n', ни '\r'. А если равен - игнорируйте.
Ну или на худой конец выключите передачу этих символов в окне монитора порта. Там внизу есть выпадающее меню.