В линуксе не работал, но вики говорит, что так и есть. Не спорю. В виндовой версии Arduino IDE, насколько мне известно, нет никакой поддержки wchar_t встроенным компилятором. Формат "%S" для вывода wchar_t использовать не получится.
Я заглянул в исходный код библиотек... Насколько я понимаю (и по "...\r\n" окончаниям текстовых строк кода), вы работу своей библиотеки не смотрели (не проверяли)?: в Linux, с его Ardyino IDE, и с повсеместным представлением символьных строк там в UTF-8... Есть некотоые вопросы к коду библиотеки.
Я заглянул в исходный код библиотек... Насколько я понимаю (и по "...\r\n" окончаниям текстовых строк кода), вы работу своей библиотеки не смотрели (не проверяли)?: в Linux, с его Ardyino IDE, и с повсеместным представлением символьных строк там в UTF-8... Есть некотоые вопросы к коду библиотеки.
Конечно нет. В линуксе не проверял. Писал под винду. Код библиотеки открыт, если есть желание переписать его под линукс - можете за это взяться.
В ходе экспериментов с клоном под оригинал Uno r3 и синим экраном с клавиатурой (предположительно LCD 1602 - картинка очень похожа на пост #51), подозреваю, что русский язык в экранчик не прошит.
получился такой код (частично добыт из примеров)
и на экранчике не много не так отображаются символы как ожидалось и притом они меняются если выводить их как сделано в loop.
Вопрос: это у меня экранчик такой особенный или поправить что то в коде надо ?
если не затрудни прошу провести эксперимент.
/*
The circuit:
* LCD RS pin to digital pin 12
* LCD Enable pin to digital pin 11
* LCD D4 pin to digital pin 5
* LCD D5 pin to digital pin 4
* LCD D6 pin to digital pin 3
* LCD D7 pin to digital pin 2
* LCD R/W pin to ground
* LCD VSS pin to ground
* LCD VCC pin to 5V
* 10K resistor:
* ends to +5V and ground
* wiper to LCD VO pin (pin 3)
*/
#include <LiquidCrystal_1602_RUS.h>
//LiquidCrystal_1602_RUS lcd(12, 11, 5, 4, 3, 2);
LiquidCrystal_1602_RUS lcd(8, 9, 4, 5, 6, 7 );//For LCD Keypad Shield
void setup()
{
lcd.begin(16, 2);
lcd.clear();
/*
// здесь вывод возможных символов и их кодов десятичных
// при нажатии правой кнопки выход из показа кодов
int x;
lcd.setCursor(0,1);
lcd.print ("НажмиRight-ВЫХОД");
for(x=0; x<255; x = x+1)
{
delay(100);
int x1;
x1 = analogRead (0);
lcd.setCursor(0, 0);
lcd.write(byte(x));
lcd.setCursor(6, 0);
lcd.print("код=");
lcd.print(x);
delay(400);
lcd.setCursor(0, 0);
lcd.print(" ");
if (x1 < 60) {
// была нажата клавиша вправо - досрочное окончание вывода кодов и символов
lcd.setCursor(0,1);
lcd.print (" Конец теста ");
x = 255;
delay(5000);
}
}
// окончание вывода кодов символов
*/
lcd.clear();
// Print a message to the LCD.
lcd.setCursor(1, 0);
// выводим сообщение, а на экране немного не то написано что ожидается
// lcd.print(L"МожЖжно печатать");
lcd.print(L"МожЖжно печата");
lcd.setCursor(3, 1);
lcd.print(L"на русском 1");
delay(5000);
// выводим сообщение, а на экране немного не то написано,что ожидается
lcd.setCursor(1, 0);
lcd.print(L"Можно печатать ");
lcd.setCursor(3, 1);
lcd.print(L"на русском 2 ");
delay(5000);
}
void loop() {
lcd.clear();
// выводим сообщение по кругу обратите внимание символы на экране периодически меняются если немного понаблюдать
// хотя непонятно отчего им меняться... ?
lcd.setCursor(1, 0);
lcd.print(L"МожЖжно ЛИ ещё"); // особенное внимание на место где третья "ж"
// lcd.print("МожЖжно ЛИ ещё");
// Вроде бы по моим экспериментам L влияет на вывод текста
lcd.setCursor(3, 1);
lcd.print(L"на русском 1");
delay(2000);
lcd.print("МожЖжно ЛИ ещё"); // особенное внимание на место где третья "ж"
// lcd.print("МожЖжно ЛИ ещё");
// Вроде бы по моим экспериментам L влияет на вывод текста
lcd.setCursor(3, 1);
lcd.print("на русском 2");
delay(2000);
}
не, это не работает, без сброса переполняется и начинает выводить всякую дичь
а с очисткой экрана он каждый раз мерзко мерцает после этого
Должно работать. И что значит - переполняется? Куда переполняется? Зачем через край льёте? Минимальный код, воспроизводящий проблему - давайте, а то непонятно, что там у вас переполняется и какой марки дичь.
Это я просто вопрос в разрезе темы задал, без уточнений)
Я использую библиотеку товарища с первой страницы, она генерит недостающие буквы кирилицы, и с очисткой дисплея все работает как надо, но экран при очистке мигает и мне это не нравится.
Вот я и хотел узнать, может есть какая команда очистки сгененрированных символов, чтобы не прибегать к очистке экрана.
Это я просто вопрос в разрезе темы задал, без уточнений)
Я использую библиотеку товарища с первой страницы, она генерит недостающие буквы кирилицы, и с очисткой дисплея все работает как надо, но экран при очистке мигает и мне это не нравится.
Вот я и хотел узнать, может есть какая команда очистки сгененрированных символов, чтобы не прибегать к очистке экрана.
А что мешает открыть исходники библиотеки и дописать там публичную функцию очистки сгенерированных символов?
Смотрю тема жива и волнительна, автор библиотеки тоже сюда заглядывает... Это радует )))
А теперь естественно вопрос на засыпку...
Есть текстовый файлик на SD карте состоящий из строк длинною до 40 символов, читаю файл построчно и хотелось бы выводить строки на дисплей, можно отбрасывая символы после 16, это не критично...
Но вот как вывести строку с использованием данной библиотеки я не пойму???
В древних версиях LiquidCrystal_I2C вместо begin была функция init. Я так понимаю, библиотеку тогда растащили по своим сайтам писатели статей, откуда ее до сих пор многие и качают. Потому либо LiquidCrystal_I2C.init(), либо качайте актуальную версию.
Добрый день. Помогите новичку. Есть проэкт автоматики для автоклава, проблема в русификации меню с приминением символов. Изначально проэкт скомпилирован в FLprog. Не могу понять как прописать символы в функции progmem.
Добрый день. Помогите новичку. Есть проэкт автоматики для автоклава, проблема в русификации меню
вы уверены. что это самая важная проблема в проекте? Что мешает польховаться меню на латинице? неужели такие слова как "open" "close" "On" "Off"? "Temperature" и тп - нуждаются в переводе?
Добрый день. Помогите новичку. Есть проэкт автоматики для автоклава, проблема в русификации меню
вы уверены. что это самая важная проблема в проекте? Что мешает польховаться меню на латинице? неужели такие слова как "open" "close" "On" "Off"? "Temperature" и тп - нуждаются в переводе?
В линуксе не работал, но вики говорит, что так и есть. Не спорю. В виндовой версии Arduino IDE, насколько мне известно, нет никакой поддержки wchar_t встроенным компилятором. Формат "%S" для вывода wchar_t использовать не получится.
Я заглянул в исходный код библиотек... Насколько я понимаю (и по "...\r\n" окончаниям текстовых строк кода), вы работу своей библиотеки не смотрели (не проверяли)?: в Linux, с его Ardyino IDE, и с повсеместным представлением символьных строк там в UTF-8... Есть некотоые вопросы к коду библиотеки.
по второй ссылке библиотека прекрасно работает без всяких доработок
Никогда не говори: "Никогда"!
;-)
Вот когда я это проверю в Linux Arduino IDE - вот тогда и скажем "прекрасно работает".
Я заглянул в исходный код библиотек... Насколько я понимаю (и по "...\r\n" окончаниям текстовых строк кода), вы работу своей библиотеки не смотрели (не проверяли)?: в Linux, с его Ardyino IDE, и с повсеместным представлением символьных строк там в UTF-8... Есть некотоые вопросы к коду библиотеки.
Конечно нет. В линуксе не проверял. Писал под винду. Код библиотеки открыт, если есть желание переписать его под линукс - можете за это взяться.
Конечно нет. В линуксе не проверял. Писал под винду. Код библиотеки открыт, если есть желание переписать его под линукс - можете за это взяться.
Я посмотрю код ... обязательно - по коду и по работе. И отвечу сюда, когда будет что сказать.
Доброго времени суток!
Только начинаю осваивать Arduino и экранчики.
В ходе экспериментов с клоном под оригинал Uno r3 и синим экраном с клавиатурой (предположительно LCD 1602 - картинка очень похожа на пост #51), подозреваю, что русский язык в экранчик не прошит.
получился такой код (частично добыт из примеров)
и на экранчике не много не так отображаются символы как ожидалось и притом они меняются если выводить их как сделано в loop.
Вопрос: это у меня экранчик такой особенный или поправить что то в коде надо ?
если не затрудни прошу провести эксперимент.
Товарищи!
а если вариант сброса символов без lcd.clear();?
Товарищи!
а если вариант сброса символов без lcd.clear();?
Есть: записать во все знакоместа пробелы.
Есть: записать во все знакоместа пробелы.
не, это не работает, без сброса переполняется и начинает выводить всякую дичь
а с очисткой экрана он каждый раз мерзко мерцает после этого
не, это не работает, без сброса переполняется и начинает выводить всякую дичь
а с очисткой экрана он каждый раз мерзко мерцает после этого
Должно работать. И что значит - переполняется? Куда переполняется? Зачем через край льёте? Минимальный код, воспроизводящий проблему - давайте, а то непонятно, что там у вас переполняется и какой марки дичь.
Это я просто вопрос в разрезе темы задал, без уточнений)
Я использую библиотеку товарища с первой страницы, она генерит недостающие буквы кирилицы, и с очисткой дисплея все работает как надо, но экран при очистке мигает и мне это не нравится.
Вот я и хотел узнать, может есть какая команда очистки сгененрированных символов, чтобы не прибегать к очистке экрана.
Это я просто вопрос в разрезе темы задал, без уточнений)
Я использую библиотеку товарища с первой страницы, она генерит недостающие буквы кирилицы, и с очисткой дисплея все работает как надо, но экран при очистке мигает и мне это не нравится.
Вот я и хотел узнать, может есть какая команда очистки сгененрированных символов, чтобы не прибегать к очистке экрана.
А что мешает открыть исходники библиотеки и дописать там публичную функцию очистки сгенерированных символов?
А что мешает открыть исходники библиотеки и дописать там публичную функцию очистки сгенерированных символов?
я не знаю как это сделать
А что мешает открыть исходники библиотеки и дописать там публичную функцию очистки сгенерированных символов?
я не знаю как это сделать
Сгенерированный символ можно переписать во время работы дисплея, и его отображение сразу изменится.
Пример здесь: http://arduino.ru/forum/programmirovanie/etyud-multik-na-lcd-1602
Смотрю тема жива и волнительна, автор библиотеки тоже сюда заглядывает... Это радует )))
А теперь естественно вопрос на засыпку...
Есть текстовый файлик на SD карте состоящий из строк длинною до 40 символов, читаю файл построчно и хотелось бы выводить строки на дисплей, можно отбрасывая символы после 16, это не критично...
Но вот как вывести строку с использованием данной библиотеки я не пойму???
ssilver2007
ssilver2007 спасибо вам за труды.
Всё правильно, так и должно быть. Just keep calm and pray.
почему?
Такова жизнь. Никто же не спрашивает, почему яблоки падают вниз, а не влево.
и из-за этого нужно писать в форум?... откройте библиотеку и посмотрите, есть там функция begin() или нет?
В древних версиях LiquidCrystal_I2C вместо begin была функция init. Я так понимаю, библиотеку тогда растащили по своим сайтам писатели статей, откуда ее до сих пор многие и качают. Потому либо LiquidCrystal_I2C.init(), либо качайте актуальную версию.
Добрый день. Помогите новичку. Есть проэкт автоматики для автоклава, проблема в русификации меню с приминением символов. Изначально проэкт скомпилирован в FLprog. Не могу понять как прописать символы в функции progmem.
Сам код
Вот пусь FLProg в этом и разбирается
Добрый день. Помогите новичку. Есть проэкт автоматики для автоклава, проблема в русификации меню
вы уверены. что это самая важная проблема в проекте? Что мешает польховаться меню на латинице? неужели такие слова как "open" "close" "On" "Off"? "Temperature" и тп - нуждаются в переводе?
Добрый день. Помогите новичку. Есть проэкт автоматики для автоклава, проблема в русификации меню
вы уверены. что это самая важная проблема в проекте?
Самая, самая, себя помню, сперва надо меню написать, а остальное страшно.))))
Самая, самая, себя помню, сперва надо меню ...
а потом тебю )))
Добрый день. Помогите новичку. Есть проэкт автоматики для автоклава, проблема в русификации меню
вы уверены. что это самая важная проблема в проекте? Что мешает польховаться меню на латинице? неужели такие слова как "open" "close" "On" "Off"? "Temperature" и тп - нуждаются в переводе?
проэкт или проект? - это важно.
А как совместить L c переменной, например, MyString.
Чтобы при вводе с монитор порта получилось бы всё!
ssilver2007 сюда заходит?
Есть вопрос по его либам.
При скролле строки - первый символ строки неправильно отображается. Без скролла - норм.
Где баг, в скетче или в либе?
И еще, может есть "урезанная" версия - без Й, Ё, Ъ и т.д. ?
К сожалению 8 символов довольно часто встречаются.
Где баг, в скетче или в либе?
откуда ж мы знаем. скетча мы не видели
Для начала ожидаю ответ типа:
1. Скролю русский текст с помощью либы от ssilver2007 - такой проблемы нет, смотри скетч.
ИЛИ
2. Да, есть такой баг, надо смотреть либу.
Для начала ожидаю ответ типа:
1. Скролю русский текст с помощью либы от ssilver2007 - такой проблемы нет, смотри скетч.
ИЛИ
2. Да, есть такой баг, надо смотреть либу.
предлагаете, чтобы кто-то специально собрал проект с его либой и попробовал? :)