Перейти к содержанию

Алексей Христианчик

Members
  • Постов

    2
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Алексей Христианчик

  1. 16.03.2020 в 03:30, gogaze сказал:

    Поделитесь полезнымы мыслями, пожалуйста.

    Зашёл через Гугла под  своим настоящим именем, т.к. лень восстанавливать пароль, но если кто помнит FAQ по Протеусу, то это я - Halex (на Казусе с индексом 07). Как видите, пока ещё жив.

    Лучше поздно, чем никогда... В последнем Протеусе 8.9 библиотеке текстовых дисплеев LCDALPHA.DLL наконец "удалили гланды". Если в более ранних  для воспроизведения кириллицы приходилось "допиливать" сам файл библиотеки сторонней утилитой, то теперь chasrset (он же - набор символов) можно менять на лету через свойства модели в проекте. Т.е.  родные-то гланды остались на месте, они встроены в исходный DLL, но по мановению хвостатой их всегда можно изменить хоть на "китайский традиционный". Ну, а картинка с кириллицей, которую раньше запихивали в принудительно-исправительной ("колонии") утилите теперь выбирается в свойствах модели LCD.

    Она лежит в папке примера: \Labcenter Electronics\Proteus 8 Professional\DATA\SAMPLES\VSM for AVR\Arduino Cyrillic LCD в стандартной поставке Протеуса и  обзывается cyrillic.bmp. Если в лом лазить по такому длинному пути часто, просто скопируйте этот файл в более "удобоваримую" папку ту же BIN или в корень DATA. Тут уже по желанию пользователя... Ну, и остаётся выбрать набор с русскими символами (когда требуется) в свойствах экранчика см. скриншот. Всё делается на раз, два, три, четыре - как в утренней зарядке в период самоизоляции.

     

    charset.jpg

  2. Ну, что ж так через ж*пу то всё.

    1. Для  @Sambler. Если тупо копируете чужой код, то озаботтесь тем, что и где у Вас стоит. Ругань компилятора в первую очередь идёт из-за delay.h, которая у WinAVR давно уже расположена в util (можете проверить на своём компе) в папке avr только файл перенаправления полностью закомментированный. Замените инклюд  делея в начале на следующую строку:

    #include <util\delay.h>

    2. После этого получшает, но не совсем. Компиллятор начнет ругаться на строку 11, где внутри цикла for объявляется целочисленная переменная, которая в нём же и используется: 

    for (int i=0; i<6;i++){

    Такая конструкция "прокатывает" только в С++, в чистом С переменная должна быть объявлена за пределами цикла, о чём вас нежно по аглицки и предупредит компилятор. Она в принципе уже и объявлена несколькими строками выше, поэтому достаточно просто убрать int в 11-й строке и насладится нормальной компиляцией проекта.

    А удалять гланды через ж*пу, как предлагает @x-revers - это чисто "русская народная забава", но вовсе не обязательная.

    Да, чуть не забыл - вот в таком варианте без всяких "подсунутых сторонних кексов" у Вас в Протеусе останется полная возможность пошаговой отладки, поскольку ему будет скормлен файл с расширением .elf.

×
×
  • Создать...