MenuSystem.h + lcd_1602_rus как вывести меню на русском?
- Войдите на сайт для отправки комментариев
Вс, 14/02/2016 - 13:36
использую библиотеки:
https://github.com/ssilver2007/LCD_1602_RUS
https://github.com/jonblack/arduino-menusystem
для вывода русскаго используется конструкция lsd.print(L"Текст на русском");
не получается вывести русское название меню.
проблема в том, что перед русским идет литера L
но как добавить ее если текст(стринг) получаем путем вызова функции, возвращается из вызванной функции.
Для начала узнать что эта "литера L" означает. Тогда станет понятнее что нужно сделать.
спасибо за разъяснения. все решил. теперь меню на русском.
Может кто подскажет почему при компиляции примера выдает ошибки
Может кто подскажет почему при компиляции примера выдает ошибки
Потому, что написано с ошибками. Конкретно у Вас тут 4 сообщения про три разные ошибки. Читайте сообщения, переводите и исправляйте.
Так этож вроде библиотека которая у всех работает.Вот и интересно почему у меня выдает ошибки... Пример тоже вроде без ошибок. Подозреваю что проблема в версии IDE либо в несовместимости с STM32.
Если Вам говорят " error: 'memcpy_PF' was not declared in this scope", значит он "not declared in this scope" будь там хоть STM, хоть MTS
Да проблема в несовместимости кода под разные платформы, изменив опцию компиляции на Arduino Nano, все прошло без ошибок. Из чего следуте что под STM32 она не подходит. Жаль - аесть еще подобного рода библиотеки?
Вопрос всетаки остается актуальным - как исправить библиотку под STM 32. версию ЕвгенийП мы услышали - не пойдет ни для МТS ни для SТМ, может будут другие мнения?
К примеру заменить функцию memcpy_PF чем либо другим.
Вопрос всетаки остается актуальным - как исправить библиотку под STM 32. версию ЕвгенийП мы услышали - не пойдет ни для МТS ни для SТМ, может будут другие мнения?
К примеру заменить функцию memcpy_PF чем либо другим.
memcpy
Перейти к навигацииПерейти к поиску
memcpy (от англ. memory copy — копирование памяти) — функция стандартной библиотеки языка программирования Си, копирующая содержимое одной области памяти в другую.
Функция определена в заголовочном файле string.h (а также в mem.h), описывается в стандартах ANSI C и POSIX.
Содержание
memcpy_s[править | править код]
Чтобы не выполнять лишних действий, функция memcpy() не проверяет соответствие размера выходного буфера количеству копируемых байт, возлагая эту обязанность на программиста. В результате совершается достаточно много ошибок, способных привести к переполнению буфера.
Поэтому ближе к концу 2009 г. компания Microsoft добавила memcpy(), CopyMemory() и RtlCopyMemory() в список функций, запрещённых в соответствии с методикой разработки безопасных программ Secure Development Lifecycle (SDL). Те разработчики, которые хотят создавать совместимые с SDL приложения, должны будут использовать вместо memcpy() функцию memcpy_s, позволяющую указывать размер буфера. Функция memcpy_s() непереносима и не включена в стандарт Си.
Определение[править | править код]
где:
Функция копирует n байт из области памяти, на которую указывает src, в область памяти, на которую указывает dst. Функция возвращает адрес назначения dst.
Области памяти не должны перекрываться {\displaystyle (\|src-dst\|\geq n)}
, иначе данные могут быть скопированы неправильно, например таким образом:
__src___ | | 1234567890xxxxx |__ ___| dst
после копирования буфер dst содержит данные отличные от исходных, так как они были разрушены в процессе копирования:
__dst___ | | 121212121212xxx
Что получится на самом деле, зависит от реализации функции (пример относится к одной из реализации приведенных ниже).
Для правильного копирования перекрывающихся областей нужно использовать функцию memmove(). Некоторые реализации memcpy() (например в libc FreeBSD и OpenBSD) делают то же что и memmove(), принуждая работать правильно даже неправильно написанную программу, однако при написании переносимой программы на это надеяться нельзя.
Алгоритм работы и реализации[править | править код]
memcpy() копирует содержимое src в буфер dst, например, так:
Но данный пример будет работать медленнее, чем любые практические реализации, так как они оптимизированы:
Пример частично оптимизированной версии:
Данная версия копирует 4 или 8 байт (размер типа long равен 32 битам на 32-битной платформе и 64 на 64-битной) за цикл, но не проверяет выровненность данных.
Пример использования[править | править код]
С
поняли?
поняли?
а сам ?
to andriano
https://www.microchip.com/webdoc/AVRLibcReferenceManual/group__avr__pgmspace_1ga13cc6cd0692aeccaac2789350a16412b.html
В общем автор ответил что - Это возможно. Чтобы решить вопрос работоспособности необходимо убрать все ссылки на дальнюю память (_PF) и во всех функциях убрать обращения к этой памяти, заменив их на работу с обычной памятью.
Вот боюсь что ума у меня на переписывания библиотеки не хватит....
попробовал заменить на memcpy но высыпало еще больше ошибок...
приводит к таким ошибкам
поняли?
Надеюсь, по ссылочке, указанной xDriver сходили?
Поняли?
Если "да" - то этого достаточно, чтобы внести нужную правку.
Не - тут не заработает, ИМХО.
Почему
void
LCD_1602_RUS::printwc(
const
wchar_t _chr) ? Почему там
const?Вопрос остается открытым.
Не - тут не заработает, ИМХО.
Почему
void
LCD_1602_RUS::printwc(
const
wchar_t _chr) ? Почему там
const?wchar_t это вроде как перведенные символы
wchar_t *LCD_1602_RUS::asciiutf8(unsigned char ascii)
а вот интересно, чем ссылка то от xDriver так не понравилась? -абсолютно по делу ссылка ... или тем что готового кода не дали, а предложили самому подумать?
Есть такие люди - отсылку в гугль считают оскорблением.... дикари
И что там понтового - в альтернативной команде - уже пробовали не раз - не работает. Я тоже отправил по ссылке - обиделись, хотя тоже содержательная.
И что там понтового - в альтернативной команде - уже пробовали не раз - не работает.
альтернативно-одренной команде? - работу с флешем на другую плату переписать не можете?
Читай текс, а не сранье что твой друг написал... От меня не убудет что забаните, жаль что вопрос топик стартера так никто и не решил, звиздатых развелось больше мыслимого...
раз с 2015г никто не озаботился - значит не особо и нужно. Самое простое - не использовать русские буквы в программах
И что там понтового - в альтернативной команде - уже пробовали не раз - не работает.
альтернативно-одренной команде? - работу с флешем на другую плату переписать не можете?
"повелитель" z80, рам от флеш не отличает, ну это и понятно, не было тогда флеш, был магнитоФон.
Читай текс, а не сранье что твой друг написал... От меня не убудет что забаните, жаль что вопрос топик стартера так никто и не решил, звиздатых развелось больше мыслимого...
раз с 2015г никто не озаботился - значит не особо и нужно. Самое простое - не использовать русские буквы в программах
Будь по вашему - самое оригинальное решение.... Дальше обсуждать не стоит.
mvn77 - это вы свои сообщения плюсуете? - не тратьте зря время, на нашем форуме эти баллы нигде не учитываются :)
я завтра буду добрый и трезвый. тему почистят. если тебе, мвн77, будет интересно, я объясню, почему русификация китайского 1602 никому не нужна. Какие есть варианты, если кириллица необходима. Ты только спрашивай нормально, без требований и аппеляций к морали.
ребят, да оставте вы его в покое, сам исчезнет.
я думал ни кто не будет отвечать, но он свои посты начал плюсовать, да и править каждые 10 мин..
я решил зафиксить, и тут опять опять понеслось.
MVN - ну неужели вы не понимаете, что ведете себя глупо? Пришли на форум и ТРЕБУЕТЕ, чтобы вам кто-то библиотеку переписал? - попробуйте в автосервис придти и потребовать, чтоб вам КПП перебрали... забесплатно... из человеколюбия. А для начала всех слесарей обложите матом покрепче...
Бесплатно я занимаюсь тем кодом, который мне интересен. Чужим кодом забесплатно никакого интреса заниматься нет.
ребят, да оставте вы его в покое, сам исчезнет.
да фиг бы с ним, почему б не подискутировать... будет еще выеживаться - выключу форум, пойду телевизор смотреть
Требований небыло - да и апеляций... Просьба была - в ответ куча говна.... Складывается впечатление что попал на барахолку... Завтра админы почитсят, меня забанят, и правильно сделают - не место таки как я "совкам" среди таких интелектуалов... но ведь вопрос никто не решил - только от "гуру" понты от чайников вопросы... и самое главное завтра - расскажут почему не нужна кирилица - вот оно мне надо....
Требований небыло - да и апеляций... Просьба была - в ответ куча говна....
ну врать-то зачем? - до твоей "ссылки" никакого говна не было. Тебе отвечали вполне по делу. А что ты их не понял - так это же не проблемы тех, кто отвечал. Если пятилетняя девочка попросит обьяснить устройство телевизора - сможешь?
нее .. тут по другому надо - 50 летняя бабушка устройство смартфона и принципы програмирования на андроид.
Требований небыло - да и апеляций... Просьба была - в ответ куча говна....
ну врать-то зачем? - до твоей "ссылки" никакого говна не было. Тебе отвечали вполне по делу. А что ты их не понял - так это же не проблемы тех, кто отвечал. Если пятилетняя девочка попросит обьяснить устройство телевизора - сможешь?
ДруХ - ты пойми проблема не в ссылка не в функциях а втом что надо изменить библиотеку под другую платфоруму - ну напишите что у вас ума не зхватит и закроем тему, так вы же тут разщвели, один ссылки другой 10 тыр...Я понимаю что и как вопрос в другом у меня не хватит заний переписать ее и ваши ссылки я уже давно прошел. Открою вам дикую тайну - проблема не в одном операторе, а в целой платформе...
ДруХ - ты пойми проблема не в ссылка не в функциях а втом что надо изменить библиотеку под другую платфоруму - ну напишите что у вас ума не зхватит и закроем тему,
ну почему не хватит то? я знаю STM32, пишу для нее. Без вского хвастовства - я мог бы переписать эту библиотеку. Но нафига?
Это, понимаешь, точно такой же вопрос, как "Мог бы ты подняться на 32 этаж без лифта?" - да, могу. Но не пойду.
Ты сам год как увлекаешся - хорошо время есть - видно сразу гуру проснулся год назад. не забудь соловьева посмотреть....
не стесняюсь глупости писать и не обижаюсь, когда на них указывают.
А что касается времени - его всегда нет. Меньше на диване лежи...
не поверишь - работаю на трех работах... мы савки такие… Лежать некогда. Сегодня, замело дороги, никуда не выехал, ради развлечения поставил новое ардуино, что бы попробовать программу написанную для прибора который несколько лет мне шлет данные в автономном режиме, а она не откомпилилась, и вот стал проверять библиотеки, и наткнулся на эту которая не запустилась у меня и в прошлый раз... Хоть и никто никогда нt видел PRIVET находящийся далеко в металлическом ящике но для души все равно хочется на родном языке… А столкнулся с кучей говна от «!совков»
Ну если это сравноимо с поднятием на 32 этахж - нахрен ссылки спрашивается давать - поэтому я и ответил. - Нет заинтересованных кто выше 32го то и закрваем тему, зачем ссылками то тыкать тому кто и до 10го не дойдет.
Ну если это сравноимо с поднятием на 32 этахж - нахрен ссылки спрашивается давать - поэтому я и ответил. - Нет заинтересованных кто выше 32го то и закрваем тему, зачем ссылками то тыкать тому кто и до 10го не дойдет.
ну а кто ж тебя знает, до какого ты этажа? может и дошел бы, если б не тратил время на пустую болтовню.
А на что ты рассчитывал, что тебя на 32 этаж кто-то понесет? - не, идти придется самому, мы только направление можем показать.
господа! я нажрался валокордина и спать. ещё и кислородный аппарат включу. стар я стал мудаков терпеть. сердце заходиться начинает.
..........
финальная попытка: кириллица нужна, если ты что-то делаешь под заказ. и тогда бери МЭЛТ с кириллицей или графический дисплей. в остальных случаях это баловство. эта библиотека - страх и ужос.
2. переписать библиотеку это не помощь. но про это тебе написали уже.
По поводу wdrakula я неготвино отношусь что людей постоянно обижает - его коронная фраза Я тут сегодня в филосовском настроении, когда нужно много чего делать, но конкретно ничего не хочется. ;) Все об нем говорит, трындит много но никому еще не помог, но ждет поклонение за кол-во постов не в тему - вот такие и гробят форумы и желание людей к новому.
Ну если это сравноимо с поднятием на 32 этахж - нахрен ссылки спрашивается давать - поэтому я и ответил. - Нет заинтересованных кто выше 32го то и закрваем тему, зачем ссылками то тыкать тому кто и до 10го не дойдет.
ты действительно не понимаешь, что каждый из оппонирующих тебе тут может переписать/исправить этот код под стм, но мотивации это делать - нет. а помогать тебе, с твоим гонором, нет мотивации от слова - совсем.
Так какого хрена ты об этом написал через 50 постов - сразу с этого иначинать надо было а не ссылки давать - для меня это баловство, уровень проблемы я заню сам и когда мне начинают ссылки давать получают ссылки в ответ. Если бы мне для комерции я бы поставил 328ю, которых валом валяется без дела, но я не комерс а любитель, ковыряю потихоньку STMку... Спросил - меня послали - я послал в ответ - обиделись...
Ну если это сравноимо с поднятием на 32 этахж - нахрен ссылки спрашивается давать - поэтому я и ответил. - Нет заинтересованных кто выше 32го то и закрваем тему, зачем ссылками то тыкать тому кто и до 10го не дойдет.
ты действительно не понимаешь, что каждый из оппонирующих тебе тут может переписать/исправить этот код под стм, но мотивации это делать - нет. а помогать тебе, с твоим гонором, нет мотивации от слова - совсем.
Так в том и фишка - мне помгать незачем... Оно мне не надо - я поддержал топик... То что я разробатывал давно работает, и доступа даже к нему нет. А код который писал тогда сегодня и сам не везде понять могу, потому что с тех пор нинаписал ни строчки. Но всетаки хочется что бы в РУНЕТЕ была своя библиотека под вывод русских символов для блю пилюль на китайских дисплеях))) Да и для комерции я бы написал через постоянное перепрошивание запасных символов.
хорошо, давай конструктивно.
я дал ссылку на определение функции memcpy_PF, ты понял чем она отличается от простой memcpy ?
Ладно !совки - спокойной ночи....
хорошо, давай конструктивно.
я дал ссылку на определение функции memcpy_PF, ты понял чем она отличается от простой memcpy ?
тем что работает с основной памятью....
ты действительно не понимаешь, что каждый из оппонирующих тебе тут может переписать/исправить этот код под стм, но мотивации это делать - нет. а помогать тебе, с твоим гонором, нет мотивации от слова - совсем.
да не, неправильно ты пишешь. Причина-то не в гоноре. А то сейчас подумает, что мы тут сидим его воспитываем.
Нет, даже если б он пришел и очень вежливо попросил - все равно никто б библиотеку переписывать не стал бы. Просто потому что это серьезная работа и ненормально просить ее бесплатно. Пример - Какие бы у вас не были замечательные отношения с соседом, но если это не ближайший друг - вряд ли вы согласитесь перекапывать ему огород бесплатно. Почему-то очень многие из тех, кто все понимает с огородом - уверены, что программу написать - это не работа, просто по клавишам постучать и все :)
ты действительно не понимаешь, что каждый из оппонирующих тебе тут может переписать/исправить этот код под стм, но мотивации это делать - нет. а помогать тебе, с твоим гонором, нет мотивации от слова - совсем.
да не, неправильно ты пишешь. Причина-то не в гоноре. А то сейчас подумает, что мы тут сидим его воспитываем.
Нет, даже если б он пришел и очень вежливо попросил - все равно никто б библиотеку переписывать не стал бы. Просто потому что это серьезная работа и ненормально просить ее бесплатно. Пример - Какие бы у вас не были замечательные отношения с соседом, но если это не ближайший друг - вряд ли вы согласитесь перекапывать ему огород бесплатно. Почему-то очень многие из тех, кто все понимает с огородом - уверены, что программу написать - это не работа, просто по клавишам постучать и все :)
Так о том и речь - я с высоты своих 10 этажей не вижу всего обьема проблемы - вы же видели, но начали за место того что бы обьяснить насколько это проблемотично для новичка тыкать меня в ссылки. А это явный признак того что оппонент не желает помгогать либо просто издевается...
Так в том и фишка - мне помгать незачем... Оно мне не надо - я поддержал топик... То что я разробатывал давно работает, и доступа даже к нему нет.
ну вот... пошло хвастанье старыми заслугами. Ту уж определись - ты до десятого этажа дойти не можешь, или все можешь, но гордый как орел...
старый, уж не бреши. Ты пришел клянчить программу и не надо теперь вилять.
хорошо, давай конструктивно.
я дал ссылку на определение функции memcpy_PF, ты понял чем она отличается от простой memcpy ?
тем что работает с основной памятью....
тогда действительно, спокойной ночи, "повелитель" z80.
в атомобильных терминах - я тебя спрашиваю - где находится фильтр? логичный ответ - какой ?
ты мне овечаешь - взади...
тыкать меня в ссылки. А это явный признак того что оппонент не желает помгогать либо просто издевается...
тыкать в ссылки - признак издевательства? - так может думать только полный идиот.
А умным ссылки помогают. Даже если с твоего уровня они пока не понятны - сохрани на будущее, может когда поймешь.