Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вывод на индикатор русских шрифтов
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
Andrey_M
Господа подскажите как правильно организовать вывод на ЖКИ индикатор русских шрифтов.
MPLAB 8.30 + Hi-Tech pic 9.83
Записываю строковую константу в память программ
const char Neim[ ] ="Привет";
В программе вывожу через sprintf(buff, Neim);
На индикаторе все появляется прекрасно, но компилятор ругается
выдает предупреждение illegal character.
Неприятно плевать на предупреждения компилятора.
(В компиляторе 9.82 тоже самое)
Спасибо! Прошу прощения если чего плохо сформулировал желающие могут по пинать я необидчив.
Ruslan1
Хм, любопытно.
Вы хотите сказать, что если пишете
Код
const char Neim[ ] ="Привет";

то видите предупреждение от компилятора, а если напишете
Код
const char Neim[ ] ="Privet";

то предупреждения нет ?

Ну и приведите пожалуйста полный текст варнинга. обычно эта строка еще что-то содержит кроме двух указанных слов.
Andrey_M
Да это именно так
Ruslan1
Цитата(Andrey_M @ Mar 27 2012, 10:25) *
Да это именно так

полный текст строки варнинга?
Andrey_M
Раньше в компиляторе 9.60
Спасала такая конструкция:
const char Naim[ ] = {''Привет"};
Это не совсем правильно но компилятор не ругался и все проходило
Новый компил ругается и на эту конструкцию.

Warning [228] D:\Pic\C\Pellet_Now_N\Pellet V5_0.c; 140.21 illegal character (0xEF)
0хEF это маленькая буква п са мо слово там начиналось с нее.
Ruslan1
достал старый проект, добавил вашу строку, не вижу никаких предупреждений
Нажмите для просмотра прикрепленного файла

Как видно из картинки, оно скомпилировалось и размещено в памяти. Ну а что мплаб не отображает кириллицу правильно- это другой вопрос.

Сам очень редко кириллицу использую, но что помню- плохо например пикад реагировал на "я" в тексте, да и кажется с ИАРом была такая же заморочка. но чтобы на пустом месте варнинг- это странно.
Хотя, с другой стороны, это может быть настраиваемо в компиляторе, и у Вашей версии дефолтовые настройки другие чем у меня. Например, стандартно классический Си может с подозрением воспринимать любой символ из верхней половины таблицы.
ae_
Цитата(Andrey_M @ Mar 27 2012, 16:33) *
… illegal character (0xEF) … 0хEF это маленькая буква п

Возможно это из-за того, что если в начале текста есть сигнатура 0xEF 0xBB 0xBF, то этот текст в формате UTF-8 (Unicode).
Компилятор ругается на любую кириллицу или только на 0хEF (в первом байте) ?
Andrey_M
Да ругается на любую кириллицу даже если вначале идет латиница то он ругнется на первую встреченную букву кириллици
Ruslan1
Цитата(Andrey_M @ Mar 27 2012, 10:33) *
Warning [228] D:\Pic\C\Pellet_Now_N\Pellet V5_0.c; 140.21 illegal character (0xEF)
0хEF это маленькая буква п са мо слово там начиналось с нее.

Будьте любезны, приведите строку исходника и строку варнинга при компиляции ЭТОЙ ПРИВЕДЕННОЙ строки исходника.

а может, уши из другого места растут. например, прагма какая-нибудь в исходнике. Повторюсь, на 9.51 ничего подобного не наблюдается.
Слесарь
Незнаю как в вашей студии, но для себя я давно сделал транслятор кодов русских символов в коды понятные LCD на базе HD44780 и вывожу.
Andrey_M
Действительно интересно что это может быть

компиляция в 9.60 проблем нет
а в 9.83 выдает предупреждение
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.