"глюк IDE, при котором макрос L неверно работает при изменении скетча. То есть надо изменить пример, сохранить с новым именем или в новое место. После этого все прекрасно компилится."
- сохранил под другим именем в то же место - заработало.
у меня 1602 шиелд(без кирилицы) с кнопками(в наборе был).
LiquidCrystal_1602_RUS lcd(8, 9, 4, 5, 6, 7 ) - номера из библиотеки подошли
яркость была выкручена так, что казался нерабочим, крутил до появления прямоугольников тёмных
пакет(на фото) подсунул чтобы не коротнуть контакты шиелда об корпус юсб на ардуино)
напряжение на кнопках( analogRead(A0) ) : sel -720, left - 479, up - 131, down - 305, right - 0.
проверял кириллицу выводя на экран символы по порядку:
Не могу разобраться как вывести на дисплей символ градуса. Еще не понятный глюк - самодельные символы стандартными средствами библиотеки отобразить не получается - в цикле при очистка экрана печатаются произвольные буквы.
Не могу разобраться как вывести на дисплей символ градуса.
нарисовать самодельный
Eldobaz пишет:
Еще не понятный глюк - самодельные символы стандартными средствами библиотеки отобразить не получается - в цикле при очистка экрана печатаются произвольные буквы.
Для вывода знака градуса необходимо в IDE в тексте скетча набрать с клавиатуры код: Alt+0176 (цифры набираются на Numeric keyboard). Должно получится вот так:
Для вывода знака градуса необходимо в IDE в тексте скетча набрать с клавиатуры код: Alt+0176 (цифры набираются на Numeric keyboard). Должно получится вот так:
lcd.print("°");
возможно, но в дефолтной библиотеке это не работает.
если тебе только символы нужны а не буквы русские, с обычной библиотекой
LiquidCrystal.h попробуй, вот код - выведет % если у тебя экран как у меня,
скопируй вставь в ардуино-оболочку, скомпилируй посмотри...
(основная идея - с помощью строки lcd.write(byte(x)); , выводим на экран символ по его коду,
у разных экранов разные коды одних и тех же символов)
например у моего по кодам: 0-33 и 128-160 пустые, %-37, градус-1 и 9, у-191, э-174, Э-214, ч-249
#include <LiquidCrystal.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);//пины поправь если у тебя другие
int x=37;//у меня выводит % по этому коду
void setup() {
lcd.begin(0, 1);
}
void loop() {
lcd.setCursor(5, 0);
lcd.write(byte(x)); //получим символ «%» - его код на моём дисплее равен 37
lcd.print(" ");
lcd.print(x);
delay(700);
lcd.clear();
}
что бы не упрекать в глупостях, прошу внимательно читать свои и мои посты
ssilver2007 пишет:
Библиотека LCD_1602_RUS.h подключена в установленом порядке.
Клапауций 823 пишет:
не поддерживает дефолтная библиотека
дефолтная библиотека LiquidCrystal
Автор вопроса задавал его в теме про русификацию LCD 1602. Отвечать в этой теме про использование дефолтной библиотеки является оффтопом. Читайте название темы перед тем, как в ней отвечать.
Автор вопроса задавал его в теме про русификацию LCD 1602. Отвечать в этой теме про использование дефолтной библиотеки является оффтопом. Читайте название темы перед тем, как в ней отвечать.
ок. сделай фотку результата твоей рекомендации - ты же в нужной теме это запостил?
есть вопрос один - нафиг эта библиотека, если она делает?
case 0x00B0: //Знак градуса
LiquidCrystal_I2C::write(223);
варианта решения проблемы два:
- юзаем встроенный в индикатор знакогенератор.
- рисуем недостающее количеством восемь заказных символов.
всё.
приводить в пример 100500 библиотек, которые используют все перечисленные(аж два) варианты - тупо.
Библиотека нужна для того, чтобы можно было значок "градус" писать непосредственно в скечтче, а не вспоминать, какой код во встроенном наборе символов LCD ему соответствует.
Оба варианта - уже обсуждались в этой теме. Автор поста #54 шел по пути варианта 1, я - по пути варианта 2 (использование библиотеки с переназначением символов).
Если вам были известны оба эти варианта, почему вы о них ни слова не сказали, а несли чушь? И назовите-ка еще хоть одну библиотеку, которая позволяет осуществить вывод кириллицы на LCD, причем текст можно писать по-русски НЕПОСРЕДСТВЕННО в скетче?
Если вам были известны оба эти варианта, почему вы о них ни слова не сказали, а несли чушь?
т.е. я предложил третий вариант, а о двух остальных подло умолчал?
ssilver2007 пишет:
И назовите-ка еще хоть одну библиотеку, которая позволяет осуществить вывод кириллицы на LCD, причем текст можно писать по-русски НЕПОСРЕДСТВЕННО в скетче?
зачем мне это делать, если знак градуса не является кириллическим символом?
т.е. я предложил третий вариант, а о двух остальных подло умолчал?
Третий вариант назвал, при этом утверждая, что вариант №2 нерабочий. Чушь? Однозначно!
ssilver2007 пишет:
И назовите-ка еще хоть одну библиотеку, которая позволяет осуществить вывод кириллицы на LCD, причем текст можно писать по-русски НЕПОСРЕДСТВЕННО в скетче?
зачем мне это делать, если знак градуса не является кириллическим символом?
[/quote]
Так это ваше утверждение, что есть еще 100500 библиотек, вам его и доказывать.
Третий вариант назвал, при этом утверждая, что вариант №2 нерабочий. Чушь? Однозначно!
прекращай бредить - ты запостил фотку рисованного символа градуса, символ, похожий на символ градуса в знакогенераторе индикатора 1602, выглядит иначе.
прекращай бредить - ты запостил фотку рисованного символа градуса, символ, похожий на символ градуса в знакогенераторе индикатора 1602, выглядит иначе.
Я запостил фотку результата работы скетча. Текст тоже выложил. Ты совсем тупой? Или у тебя интеллект не справляется с задачей ТУПО ПОВТОРИТЬ МОЙ ПРИМЕР и проверить самому? Или снова ничего не сделаешь, а будешь как глупый попугай повторять бред, мол этот метод не работает, lcd.print("°") не выводит знак градуса, так как юникод не поддерживает? Пора тебе заканчивать с бредом, и слушать умных людей.
ТУПО ПОВТОРИТЬ МОЙ ПРИМЕР и проверить самому? Или снова ничего не сделаешь, а будешь как глупый попугай повторять бред, мол этот метод не работает, lcd.print("°") не выводит знак градуса, так как юникод не поддерживает?
Купил с китая LCD GH1602-2502 продавец утверждает, что в указанный LCD защита кирилица(русский), но все комбинации, которые я знаю не дает результата. выходят какието ероглифы с двоеточией сверху.
tonicam, кириллица гарантированно есть в отечественных дисплеях( мэлт) и в winstar' ах с определённой буквенной маркировкой(инфо есть на сайте винстара) Остальные -никаких гарантий, даже если продавец клянётся что есть :)
Может кто нибудь подскажет, библиотека что выше обсуждается хорошо печатает из консоли ардуины и там похоже кодировка Win.
А вот из других консолей идет мусор. Т.к. там кодировка UTF-8. Как к этой библиотеке прикрутить UTF-8 и в консоле? А то у меня знаний не хватает.
Вот тут посмотрите. Можно использовать обе кодировки.
Кстати, Arduino IDE как раз на utf-8 жестко завязан, причем все время норовит перекодировать кириллицу незнамо во что. Одна из причин, из-за которой юзаю для редактирования кода notepad++.
Еще есть известный уже глюк IDE, при котором макрос L неверно работает при изменении скетча. То есть надо изменить пример, сохранить с новым именем или в новое место. После этого все прекрасно компилится.
sprintf не работает с типом wchar_t. Либо руками выводите пременную, либо пишите свою процедуру для обработки строки в wchar_t.
В новых (свежих) стандартах C sprintf()/printf() замечательно работает с wchar_t - для этого введен новый спецификатор формата: "%S" (S большое). Так что всё зависит от реализации.
Строка типа char может содержать только латиницу. Информация по кириллице будет потеряна. Нет. Так сделать нельзя.
Не совсем так...
1. wchar_t 2-х байтовая кодировка - это только у выньдаунов ... В Linux, да и во всём остальном нормальном мире, wchar_t - это 4-х байтовая кодировка. А вообще, wchar_t - это численное значение кодов UNICODE, принятое в конкретной системе.
2. Строка char, если в ней записаны байтовые последовательности UTF-8 представлений, может содержать любой язык, не только русский, но и китайские иероглифы.
1. wchar_t 2-х байтовая кодировка - это только у выньдаунов ... В Linux, да и во всём остальном нормальном мире, wchar_t - это 4-х байтовая кодировка. А вообще, wchar_t - это численное значение кодов UNICODE, принятое в конкретной системе.
2. Строка char, если в ней записаны байтовые последовательности UTF-8 представлений, может содержать любой язык, не только русский, но и китайские иероглифы.
В линуксе не работал, но вики говорит, что так и есть. Не спорю. В виндовой версии Arduino IDE, насколько мне известно, нет никакой поддержки wchar_t встроенным компилятором. Формат "%S" для вывода wchar_t использовать не получится.
А вообще, за подобные работы, конечно: большое спасибо ... даже если оно "сразу в лоб" и не становится и требует под себя мелких доработок, как обычно бывает.
А вообще, за подобные работы, конечно: большое спасибо ... даже если оно "сразу в лоб" и не становится и требует под себя мелких доработок, как обычно бывает.
по второй ссылке библиотека прекрасно работает без всяких доработок
У меня по ругается на L :( Каждый раз пересохранять не удобно
1. Как писали - это "фича" Arduino IDE. У вас какая ОС и какая версия Arduino IDE?
2. Длинные строки: L"..." - это принадлежность языка C со стандарта C99 (1999г.) ... и даже, слегка, с C89 (1989г.). Так что если кто-то (Arduino IDE) не научился этим пользоваться за 29 лет - это его проблемы.
Не надо если кать и херкать.
Если ide не подходит, тогда скажите это. У меня обичный ардуиновский компилятор. Если она работает под какойто определенной версией, укажите какой. Если вообще под ide не работает тогда вчем дело? Причем тут горбатость?
Я понимаю с99 ибо stm 32 изучаю но по даной теме что-то не понял. Данная библиотека для чего делалась? Под какой компилятор?
Не надо если кать и херкать. Если ide не подходит, тогда скажите это. У меня обичный ардуиновский компилятор. Если она работает под какойто определенной версией, укажите какой. Если вообще под ide не работает тогда вчем дело? Причем тут горбатость? Я понимаю с99 ибо stm 32 изучаю но по даной теме что-то не понял. Данная библиотека для чего делалась? Под какой компилятор?
Дело не в компиляторе, а в кривости реализации возможностей компилятора оболочкой IDE (пути неправильно передает в командной строке или еще что-то, не суть важно). Если уж они не удосужились сделать нормальной работу с wchar_t (хотя по стандарту C эта возможность есть, и компилятор ее наверняка поддерживал), то это вина разработчиков IDE, или разработчиков, пишущих под их IDE в соответствии со стандартом C?
Если вообще под ide не работает тогда вчем дело? Причем тут горбатость?
Дело здесь "при том", что пишут это IDE студенты и пионеры, используя преждние наработки проекта Processing.
Цитата:
Не стреляйте в пианиста - он играет как умеет!
Любое ПО может содержать ошибки. И вам давно уже написали в чём это выражается:
ssilver2007 пишет:
Еще есть известный уже глюк IDE, при котором макрос L неверно работает при изменении скетча. То есть надо изменить пример, сохранить с новым именем или в новое место. После этого все прекрасно компилится.
maxvalin пишет:
Я понимаю с99 ибо stm 32 изучаю
Вы, наверное, здесь ожидали, что я тут стану оспаривать ваши глубочайшие познания в C99? Нет. Не стану...
Продолжайте изучать. ;-)
maxvalin пишет:
Данная библиотека для чего делалась?
В мире свободного и открытого ПО всё делается по принципу: кому нравится - берёт и использует, кому не нравится ... - закрыл рот и пошёл искать дальше...
Еще есть известный уже глюк IDE, при котором макрос L неверно работает при изменении скетча. То есть надо изменить пример, сохранить с новым именем или в новое место. После этого все прекрасно компилится.
Специально проверил в IDE Симулятор Arduino (Tinkercad от AutoDesk) на этот предмет. Там этого глюка нет! Т.е. это определённо кривые руки разработчиков Arduino IDE, а не какие-то особенности компилятора, библиотек, стандартов языка и т.д.
Думаю (только IMHO!), что существует более простой и удобный способ, чем пересохранение скетча под новым именем (так обычно бывает, что существует). Его нужно просто найти ... поняв в чём там у них состоит баг.
"Здесь много проектных решений, которые выглядят, по меньшей мере, странно для настоящего инженера" — говорит со смехом Банци — "Но я не настоящий инженер, поэтому я избрал такой глупый путь".
спасибо ssilver2007, автору поста #18
"глюк IDE, при котором макрос L неверно работает при изменении скетча. То есть надо изменить пример, сохранить с новым именем или в новое место. После этого все прекрасно компилится."
- сохранил под другим именем в то же место - заработало.
у меня 1602 шиелд(без кирилицы) с кнопками(в наборе был).
LiquidCrystal_1602_RUS lcd(8, 9, 4, 5, 6, 7 ) - номера из библиотеки подошли
яркость была выкручена так, что казался нерабочим, крутил до появления прямоугольников тёмных
пакет(на фото) подсунул чтобы не коротнуть контакты шиелда об корпус юсб на ардуино)
напряжение на кнопках( analogRead(A0) ) : sel -720, left - 479, up - 131, down - 305, right - 0.
проверял кириллицу выводя на экран символы по порядку:
Приветствую!
Не могу разобраться как вывести на дисплей символ градуса. Еще не понятный глюк - самодельные символы стандартными средствами библиотеки отобразить не получается - в цикле при очистка экрана печатаются произвольные буквы.
Помогите, плз.
Не могу разобраться как вывести на дисплей символ градуса.
нарисовать самодельный
Еще не понятный глюк - самодельные символы стандартными средствами библиотеки отобразить не получается - в цикле при очистка экрана печатаются произвольные буквы.
без публикации кода - вопрос не имеет смысла
Для вывода знака градуса необходимо в IDE в тексте скетча набрать с клавиатуры код: Alt+0176 (цифры набираются на Numeric keyboard). Должно получится вот так:
Для вывода знака градуса необходимо в IDE в тексте скетча набрать с клавиатуры код: Alt+0176 (цифры набираются на Numeric keyboard). Должно получится вот так:
возможно, но в дефолтной библиотеке это не работает.
возможно, но в дефолтной библиотеке это не работает.
А так?
А так?
какой смысл гадать на хрустальном шаре, если не поддерживает дефолтная библиотека юникод?
А так?
какой смысл гадать на хрустальном шаре, если не поддерживает дефолтная библиотека юникод?
Чтобы не писать глупости и других не вводить в заблуждение, советую прочитать пост #18: http://arduino.ru/forum/obshchii/lcd-1602-i-russkie-simvoly#comment-174269
Чтобы не писать глупости и других не вводить в заблуждение, советую прочитать пост #18: http://arduino.ru/forum/obshchii/lcd-1602-i-russkie-simvoly#comment-174269
что бы не упрекать в глупостях, прошу внимательно читать свои и мои посты
Библиотека LCD_1602_RUS.h подключена в установленом порядке.
не поддерживает дефолтная библиотека
дефолтная библиотека LiquidCrystal
если тебе только символы нужны а не буквы русские, с обычной библиотекой
LiquidCrystal.h попробуй, вот код - выведет % если у тебя экран как у меня,
скопируй вставь в ардуино-оболочку, скомпилируй посмотри...
(основная идея - с помощью строки lcd.write(byte(x)); , выводим на экран символ по его коду,
у разных экранов разные коды одних и тех же символов)
например у моего по кодам: 0-33 и 128-160 пустые, %-37, градус-1 и 9, у-191, э-174, Э-214, ч-249
что бы не упрекать в глупостях, прошу внимательно читать свои и мои посты
Библиотека LCD_1602_RUS.h подключена в установленом порядке.
не поддерживает дефолтная библиотека
дефолтная библиотека LiquidCrystal
Автор вопроса задавал его в теме про русификацию LCD 1602. Отвечать в этой теме про использование дефолтной библиотеки является оффтопом. Читайте название темы перед тем, как в ней отвечать.
Автор вопроса задавал его в теме про русификацию LCD 1602. Отвечать в этой теме про использование дефолтной библиотеки является оффтопом. Читайте название темы перед тем, как в ней отвечать.
ок. сделай фотку результата твоей рекомендации - ты же в нужной теме это запостил?
А так?
ок. сделай фотку результата твоей рекомендации - ты же в нужной теме это запостил?
Результат:
Есть еще вопросы?
есть вопрос один - нафиг эта библиотека, если она делает?
есть вопрос один - нафиг эта библиотека, если она делает?
Библиотека нужна для того, чтобы можно было значок "градус" писать непосредственно в скечтче, а не вспоминать, какой код во встроенном наборе символов LCD ему соответствует.
Оба варианта - уже обсуждались в этой теме. Автор поста #54 шел по пути варианта 1, я - по пути варианта 2 (использование библиотеки с переназначением символов).
Если вам были известны оба эти варианта, почему вы о них ни слова не сказали, а несли чушь? И назовите-ка еще хоть одну библиотеку, которая позволяет осуществить вывод кириллицы на LCD, причем текст можно писать по-русски НЕПОСРЕДСТВЕННО в скетче?
Если вам были известны оба эти варианта, почему вы о них ни слова не сказали, а несли чушь?
т.е. я предложил третий вариант, а о двух остальных подло умолчал?
И назовите-ка еще хоть одну библиотеку, которая позволяет осуществить вывод кириллицы на LCD, причем текст можно писать по-русски НЕПОСРЕДСТВЕННО в скетче?
зачем мне это делать, если знак градуса не является кириллическим символом?
т.е. я предложил третий вариант, а о двух остальных подло умолчал?
Третий вариант назвал, при этом утверждая, что вариант №2 нерабочий. Чушь? Однозначно!
зачем мне это делать, если знак градуса не является кириллическим символом?
[/quote]
Так это ваше утверждение, что есть еще 100500 библиотек, вам его и доказывать.
Третий вариант назвал, при этом утверждая, что вариант №2 нерабочий. Чушь? Однозначно!
прекращай бредить - ты запостил фотку рисованного символа градуса, символ, похожий на символ градуса в знакогенераторе индикатора 1602, выглядит иначе.
здесь #53 я предложил нарисовать символ градуса.
что тебе не так?
прекращай бредить - ты запостил фотку рисованного символа градуса, символ, похожий на символ градуса в знакогенераторе индикатора 1602, выглядит иначе.
здесь #53 я предложил нарисовать символ градуса.
что тебе не так?
Я запостил фотку результата работы скетча. Текст тоже выложил. Ты совсем тупой? Или у тебя интеллект не справляется с задачей ТУПО ПОВТОРИТЬ МОЙ ПРИМЕР и проверить самому? Или снова ничего не сделаешь, а будешь как глупый попугай повторять бред, мол этот метод не работает, lcd.print("°") не выводит знак градуса, так как юникод не поддерживает? Пора тебе заканчивать с бредом, и слушать умных людей.
ТУПО ПОВТОРИТЬ МОЙ ПРИМЕР и проверить самому? Или снова ничего не сделаешь, а будешь как глупый попугай повторять бред, мол этот метод не работает, lcd.print("°") не выводит знак градуса, так как юникод не поддерживает?
Спасибо за ответ и за отличную библиотеку. Сильно облегчает жизнь новичку :)
С градусами помог этот вариант:
А как при использовании сабжевой библиотеки выводить кастомные символы?
Например, нарисовал стрелку:
Как ее вывести на 1602.
Спасибо!
P.S. Для LCD не I2C надо заменить
#include "LiquidCrystal_I2C.h" на #include "LiquidCrystal.h"
вместо
lcd.init();
lcd.backlight();
просто
lcd.begin(16, 2);
и все
lcd.write(0) на lcd.write((byte)0)
Может кто нибудь подскажет, библиотека что выше обсуждается хорошо печатает из консоли ардуины и там похоже кодировка Win.
А вот из других консолей идет мусор. Т.к. там кодировка UTF-8. Как к этой библиотеке прикрутить UTF-8 и в консоле? А то у меня знаний не хватает.
Нужна помощь.
Купил с китая LCD GH1602-2502 продавец утверждает, что в указанный LCD защита кирилица(русский), но все комбинации, которые я знаю не дает результата. выходят какието ероглифы с двоеточией сверху.
вот ссылка на даташит https://cloud.mail.ru/public/7zP5/WxEsAVgBU
Помогите написать скетч вывода русских букв.
выводил все символы следующим образом:
tonicam, этот скетч выводит весь знакогенератор. Если там нет русских букв -значит их там нет.
Но в даташите есть русский. при выставлении претензии об отсутствии кириллицы они выслали вот этот документ:
https://cloud.mail.ru/public/ChLy/QeBmYsdqK
404, страница не найдена, русского нет. Пичалька. :(
https://cloud.mail.ru/public/ChLy/QeBmYsdqK
tonicam, кириллица гарантированно есть в отечественных дисплеях( мэлт) и в winstar' ах с определённой буквенной маркировкой(инфо есть на сайте винстара) Остальные -никаких гарантий, даже если продавец клянётся что есть :)
Китайцам что русский, что французский - все на одно лицо.
Спасибо всем.
404, страница не найдена, русского нет. Пичалька. :(
теория и практика русофобии.
Может кто нибудь подскажет, библиотека что выше обсуждается хорошо печатает из консоли ардуины и там похоже кодировка Win.
А вот из других консолей идет мусор. Т.к. там кодировка UTF-8. Как к этой библиотеке прикрутить UTF-8 и в консоле? А то у меня знаний не хватает.
Вот тут посмотрите. Можно использовать обе кодировки.
Кстати, Arduino IDE как раз на utf-8 жестко завязан, причем все время норовит перекодировать кириллицу незнамо во что. Одна из причин, из-за которой юзаю для редактирования кода notepad++.
Еще есть известный уже глюк IDE, при котором макрос L неверно работает при изменении скетча. То есть надо изменить пример, сохранить с новым именем или в новое место. После этого все прекрасно компилится.
известный глюк на сегодня так и не побежден?
В дисплеях МЭЛТ гарантированно есть все русские буквы.
Who is МЭЛТ? ;-)
sprintf не работает с типом wchar_t. Либо руками выводите пременную, либо пишите свою процедуру для обработки строки в wchar_t.
В новых (свежих) стандартах C sprintf()/printf() замечательно работает с wchar_t - для этого введен новый спецификатор формата: "%S" (S большое). Так что всё зависит от реализации.
Тип char - однобайтовое кодирование символа.
Тип wchar_t - двухбайтовое кодирование символа.
Строка типа char может содержать только латиницу. Информация по кириллице будет потеряна. Нет. Так сделать нельзя.
Не совсем так...
1. wchar_t 2-х байтовая кодировка - это только у выньдаунов ... В Linux, да и во всём остальном нормальном мире, wchar_t - это 4-х байтовая кодировка. А вообще, wchar_t - это численное значение кодов UNICODE, принятое в конкретной системе.
2. Строка char, если в ней записаны байтовые последовательности UTF-8 представлений, может содержать любой язык, не только русский, но и китайские иероглифы.
Не совсем так...
1. wchar_t 2-х байтовая кодировка - это только у выньдаунов ... В Linux, да и во всём остальном нормальном мире, wchar_t - это 4-х байтовая кодировка. А вообще, wchar_t - это численное значение кодов UNICODE, принятое в конкретной системе.
2. Строка char, если в ней записаны байтовые последовательности UTF-8 представлений, может содержать любой язык, не только русский, но и китайские иероглифы.
В линуксе не работал, но вики говорит, что так и есть. Не спорю. В виндовой версии Arduino IDE, насколько мне известно, нет никакой поддержки wchar_t встроенным компилятором. Формат "%S" для вывода wchar_t использовать не получится.
Русификация для дисплеев LCD 1602 с шиной I2C:
https://github.com/ssilver2007/LCD_1602_RUS
Для обычных дисплеев:
https://github.com/ssilver2007/LiquidCrystal_1602_RUS
Сегодня-завтра приедет дисплей - стану пробовать.
А вообще, за подобные работы, конечно: большое спасибо ... даже если оно "сразу в лоб" и не становится и требует под себя мелких доработок, как обычно бывает.
Русификация для дисплеев LCD 1602 с шиной I2C:
https://github.com/ssilver2007/LCD_1602_RUS
Для обычных дисплеев:
https://github.com/ssilver2007/LiquidCrystal_1602_RUS
Сегодня-завтра приедет дисплей - стану пробовать.
А вообще, за подобные работы, конечно: большое спасибо ... даже если оно "сразу в лоб" и не становится и требует под себя мелких доработок, как обычно бывает.
по второй ссылке библиотека прекрасно работает без всяких доработок
У меня по ругается на L :(
Каждый раз пересохранять не удобно
1. Как писали - это "фича" Arduino IDE. У вас какая ОС и какая версия Arduino IDE?
2. Длинные строки: L"..." - это принадлежность языка C со стандарта C99 (1999г.) ... и даже, слегка, с C89 (1989г.). Так что если кто-то (Arduino IDE) не научился этим пользоваться за 29 лет - это его проблемы.
7ка, ide1.6.
Я понял не судьба, тогда библиотеку зачем плодить?
Она же для ide arduino сделана?
Если с библиотекой всё нормально, а Arduino IDE - горбатое ... то где здесь лошадь и где телега?
Если вы ни хера не дружите со стандартами - то кто вам доктор?
Не надо если кать и херкать.
Если ide не подходит, тогда скажите это. У меня обичный ардуиновский компилятор. Если она работает под какойто определенной версией, укажите какой. Если вообще под ide не работает тогда вчем дело? Причем тут горбатость?
Я понимаю с99 ибо stm 32 изучаю но по даной теме что-то не понял. Данная библиотека для чего делалась? Под какой компилятор?
Дело не в компиляторе, а в кривости реализации возможностей компилятора оболочкой IDE (пути неправильно передает в командной строке или еще что-то, не суть важно). Если уж они не удосужились сделать нормальной работу с wchar_t (хотя по стандарту C эта возможность есть, и компилятор ее наверняка поддерживал), то это вина разработчиков IDE, или разработчиков, пишущих под их IDE в соответствии со стандартом C?
Ну так и я вам о том же! ;-)
Дело здесь "при том", что пишут это IDE студенты и пионеры, используя преждние наработки проекта Processing.
Не стреляйте в пианиста - он играет как умеет!
Любое ПО может содержать ошибки. И вам давно уже написали в чём это выражается:
Еще есть известный уже глюк IDE, при котором макрос L неверно работает при изменении скетча. То есть надо изменить пример, сохранить с новым именем или в новое место. После этого все прекрасно компилится.
Я понимаю с99 ибо stm 32 изучаю
Вы, наверное, здесь ожидали, что я тут стану оспаривать ваши глубочайшие познания в C99? Нет. Не стану...
Продолжайте изучать. ;-)
Данная библиотека для чего делалась?
Еще есть известный уже глюк IDE, при котором макрос L неверно работает при изменении скетча. То есть надо изменить пример, сохранить с новым именем или в новое место. После этого все прекрасно компилится.
Специально проверил в IDE Симулятор Arduino (Tinkercad от AutoDesk) на этот предмет. Там этого глюка нет! Т.е. это определённо кривые руки разработчиков Arduino IDE, а не какие-то особенности компилятора, библиотек, стандартов языка и т.д.
Думаю (только IMHO!), что существует более простой и удобный способ, чем пересохранение скетча под новым именем (так обычно бывает, что существует). Его нужно просто найти ... поняв в чём там у них состоит баг.
Компилятор там один, и никакого другого быть не может: AVR-GCC .
https://www.drive2.ru/b/2520138/
"Здесь много проектных решений, которые выглядят, по меньшей мере, странно для настоящего инженера" — говорит со смехом Банци — "Но я не настоящий инженер, поэтому я избрал такой глупый путь".
https://ru.wikipedia.org/wiki/Arduino
Название платформы происходит от названия одноимённой рюмочной в Иврее, часто посещавшейся учредителями проекта, ...