Подскажите, если не трудно, как вывести значение переменной на LCD. Например, отобразить в десятичном виде результат преобразования ADC? Никак не могу сообразить, понимаю что просто, но ничего не выходит. Подскажите...
Просто использовать возможности printf(), переписав putchar() для вывода на lcd (не забыть #define _ALTERNATE_PUTCHAR_).
Цитата(smk @ Oct 27 2006, 00:22)

Подскажите, если не трудно, как вывести значение переменной на LCD. Например, отобразить в десятичном виде результат преобразования ADC? Никак не могу сообразить, понимаю что просто, но ничего не выходит. Подскажите...
Можно и printf, но если нет желания ничего переписывать и существуют собственная процедура вывода строки на LCD, то обратите внимение на функцию sprintf, которая полностью аналогична printf за исключением того, что в качестве вывода формирует строку. А строку потом собственными средствами без проблем

Если своей функции вывода нет - то послушайте Nixon а.
Спасибо! Теперь все работает как надо.
Вот такой вопрос, может кто знает еак его решить. В CodeVision есть функция вывода строки lcd_putsf(" Hello world! "); Если попробовать выводить буквы кириллицы, то из-за несовпадения кодов на дисплее будут крякозяблики. Приходится русский текст выводить побуквенно с помощю lcd_putchar(0b10100101);//И. Может есть возможность вывода кириллицы с помощю lcd_putsf(" Всем Привет! "); так как это я написал? Это гораздо удобнее было бы.
Нет вывод кирилици так не возможен.
(это верно для всех кроме мелтовских дисплеев)
Но ни кто не запрещает переписать фукцию чтобы переводила
Для перевода я пользуюсь этим:
http://atmel.ru/Binary/HD-44780.exe
Спасибо за ответ! Посмотрел прогу. Калькулятор винды тоже это умеет. Эту прогу вообще-то приятно было бы видеть прямо в составе CodeVision или WinAVR, да и в любой другой, в которой текст пишется. Наверно действительно под каждый тип дисплея прийдется функцию переделывать...
Вот взялся бы кто-нибудь из умеющих написать программку - генератор начального кода. Так чтоб после выбора типа МК на экране развернулись все тридцать два настроечных регистра, соответствующих выбранному МК. К каждому биту или группе - пояснение, что он включает-выключает. Калькулятор таймеров как в ICC можно приделать. После установки генерируется текст из строчек с перечнем регистров в виде функции, например init_mk. Было бы очень удобно и совместимо со всеми средами разработки. Вот бы кто взялся?!
Цитата
Вот взялся бы кто-нибудь из умеющих написать программку - генератор начального кода. Так чтоб после выбора типа МК на экране развернулись все тридцать два настроечных регистра, соответствующих выбранному МК. К каждому биту или группе - пояснение, что он включает-выключает. Калькулятор таймеров как в ICC можно приделать. После установки генерируется текст из строчек с перечнем регистров в виде функции, например init_mk. Было бы очень удобно и совместимо со всеми средами разработки. Вот бы кто взялся?!
Немного поконкретнее что нужно?
Вот моя програмка для рисования символов для 44780:
http://vooon.narod.ru/test/hd/index.htmlДубль:
http://nix-06.nm.ru/Programma/hd/hd_js.html
zorromen
Nov 19 2006, 11:57
flash char Decode2Rus[255-192+1]= {
0x41,0xA0,0x42,0xA1,0xE0,0x45,0xA3,0xA4,
0xA5,0xA6,0x4B,0xA7,0x4D,0x48,0x4F,0xA8,
0x50,0x43,0x54,0xA9,0xAA,0x58,0xE1,0xAB,
0xAC,0xE2,0xAD,0xAE,0xAD,0xAF,0xB0,0xB1,
0x61,0xB2,0xB3,0xB4,0xE3,0x65,0xB6,0xB7,
0xB8,0xB9,0xBA,0xBB,0xBC,0xBD,0x6F,0xBE,
0x70,0x63,0xBF,0x79,0xE4,0x78,0xE5,0xC0,
0xC1,0xE6,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7
};
#define _ALTERNATE_PUTCHAR_
void putchar(char c)
{
if(c>=192) lcd_putchar(Decode2Rus[c-192]); else lcd_putchar©;
}
Если посмотреть на код в АСКИИ-Вин то русские буквы идут с 192 до 255 . То просто делаем поправку Decode2Rus.
Если посмотреть на код в АСКИИ-Вин то русские буквы идут с 192 до 255 . То просто делаем поправку Decode2Rus.
[/quote]
Ошибаетесь.Знакогенератор HD47780 не соответствует виндовозному и так просто не получится,т.е
придется писать свою альтернативную фукцию.
zorromen
Nov 21 2006, 19:39
[quote name='WHALE' date='Nov 19 2006, 15:24' post='177851']
Если посмотреть на код в АСКИИ-Вин то русские буквы идут с 192 до 255 . То просто делаем поправку Decode2Rus.
[/quote]
Ошибаетесь.Знакогенератор HD47780 не соответствует виндовозному и так просто не получится,т.е
придется писать свою альтернативную фукцию.
[/quote]
Нифига Сматри
Вазьмем букву 'Б' её код 193
далее 193-192=1 это в массиве 0xA0 зничит в знакогенераторе в LCD там Б сам пасматри.
пример putchar('Б') все работает...