Доброго здоровья, Alexandr!
02 Dec 03 21:54, Alexandr Zuzin написал для All:
AZ> У меня есть пpоцедуpа вывода на дисплей и есть массив констант, стpоку AZ> котоpого нужно вывести на дисплей чеpез функцию text_to_led. Как это можно AZ> сделать ?
ты просишь ошибки, что ли, найти в своей программе?
AZ> __flash const char MODE_STR[7][3]={"CHG","DIS","QTS","TRA","REP","DC ","UA AZ> "};
размерность массива следует указать как [7][4] или [7][] (что по-сути то же самое) - в каждой строке необходимо еще место для завершающего \0
AZ> //----------- Вывод текста на дисплей ------------------ AZ> void text_to_led(unsigned char *text_buf, char pos)
если ты собираешься передавать параметром свои строки, описанные выше, параметр - указатель должен быть описан как __flash const char *, а у тебя он просто unsigned char почему-то
AZ> {
AZ> for ( ;*text_buf!=0;pos++, *text_buf++)
если ты производишь инкрементирование указателя, зачем ты его разыменовываешь? так и надо писать text_buf++
AZ> { AZ> displ_buf[pos]=*text_buf; AZ> } AZ> }
тут вроде не ошибся :)
диагноз - купить книжечку по С и почитать/порешать примеры
WBR, Сергей. ICQ: 101347299