AVR PAL модуль на микроконтроллере ATmega8A.

Технология изготовления печатной платы с использованием пленочного фоторезиста.

Конвертер ASCII 1251 в байтовую строку.


Здравствуйте дорогие друзья. Проектируя AVR_PAL модуль на стадии изготовления тестирующей платы, в процессе программирования на Atmel Studio 7 при выводе русского шрифта столкнулся с кракозябрами. Как оказалось Atmel Studio 7 использует кодировку не ASCII 1251 в следствии чего строки введенные русской раскладкой отображаются не корректно.

Перелопатив интернет, а также исследовав настройки Atmel Studio у меня не получилось настроить расскладку ASCII 1251. Кстати скорее всего я не единственный кто столкнулся с этой проблемой. Те кто программирует контроллеры и хранят заготовки строк на FLASH однозначно сталкиваются с кракозябрами при вводе русских символов, например:

const char String[] PROGMEM = "Hello world!"; // Так все ок

const char String[] PROGMEM = "Привет мир!"; // А так будут кракозябры

Так что если кто знает как эту проблему решить на Atmel Studio 7 пишите мне на электронную почту, я выложу отдельную тему по этому поводу, думаю многим будет это интересно. Так вот обойти кракозябры можно если строки набирать по байтно. Например вот так:

// "Привет мир!" - набранный по байтно.

const char String[] PROGMEM = {143,224,168,162,165,226,32,172,168,224,33,0};

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

Не много подумав и потратив 1 час времени решил написать программу которая смогла б это нуторное занятие сделать за меня. Она простая - консольного типа, но свою работу делает на ура.


Работает она просто. Достаточно в нее ввести строку текста и нажать ENTER, как на выходе мы получаем сгенерированную строку из байтовых символов. Остается только выделить ее нажать CTRL + C и вставить в редактор кода комбинацией CTRL + V.

Скачать ее вы можете по вот этой ссылке:

Конвертор ASCII 1251 в байтовую строку.

Спасибо за внимание.