Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
04.12.2008, 12:24
|
|
Гражданин KAZUS.RU
Регистрация: 06.08.2006
Сообщений: 694
Сказал спасибо: 24
Сказали Спасибо 38 раз(а) в 31 сообщении(ях)
|
ВОПРОС ПО СИ
Здраствуйте форумчане.у меня возникла проблема.я программирую в ЦЦСПИК иесть необходимость выводить текст.так вот проблема в том что у меня есть переменная КОРЕК она 16 битовая,каждый бит это флаг.так вот я делаю по нажатию клавишы меняется номер байта в переменной корек и соответственно этому номеру вывожу текст.как я понял мне не имеет смысла писать 16 кейсов (т.е. для каждого бита отдельно).есть необходимость чтобы создать массив из 16 строк.чтобы я обрашался к каждой строке в отдельности.так мне посоветовали следующее
char *KOREK[]={"яиаи","3аи","ячми","фца"};
lcd_gotoxy(1,1);
printf(lcd_putc,KOREK[0]);
так вот вместо текста выводятся иероглифы.
извините за столь сумбурное обьяснение проблемы,надеюсь вы поняли.
|
|
|
|
04.12.2008, 13:53
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.12.2004
Сообщений: 3,172
Сказал спасибо: 11
Сказали Спасибо 692 раз(а) в 504 сообщении(ях)
|
Re: ВОПРОС ПО СИ
Сообщение от Gladkih
|
char *KOREK[]={"яиаи","3аи","ячми","фца"};
|
Понял не все, но все же попробую предположить. Проблема в том, что KOREK это не массив, а указатель на массив. Уберите * перед его объявлением и добавьте ему вторую размерность.
Или, оставив как есть - printf(lcd_putc,(*KOREK)[0]);
|
|
|
|
04.12.2008, 13:58
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.03.2007
Сообщений: 1,363
Сказал спасибо: 85
Сказали Спасибо 621 раз(а) в 376 сообщении(ях)
|
Re: ВОПРОС ПО СИ
Сообщение от Gladkih
|
Здраствуйте форумчане.у меня возникла проблема.я программирую в ЦЦСПИК иесть необходимость выводить текст.так вот проблема в том что у меня есть переменная КОРЕК она 16 битовая,каждый бит это флаг.так вот я делаю по нажатию клавишы меняется номер байта в переменной корек и соответственно этому номеру вывожу текст.как я понял мне не имеет смысла писать 16 кейсов (т.е. для каждого бита отдельно).есть необходимость чтобы создать массив из 16 строк.чтобы я обрашался к каждой строке в отдельности.так мне посоветовали следующее
char *KOREK[]={"яиаи","3аи","ячми","фца"};
lcd_gotoxy(1,1);
printf(lcd_putc,KOREK[0]);
так вот вместо текста выводятся иероглифы.
извините за столь сумбурное обьяснение проблемы,надеюсь вы поняли.
|
В кодевижн у меня это выглядит так, думаю в ЦЦС примерно также (может flash как-то по другому будет выглядеть):
flash char stMenu1[]="aaaa";
flash char stMenu2[]="bbbb";
flash char stMenu3[]="cccc";
flash char stMenu4[]="dddd";
flash char* flash KOREK[3]={stMenu1, stMenu2, stMenu3};
|
|
|
|
04.12.2008, 14:52
|
|
Гражданин KAZUS.RU
Регистрация: 06.08.2006
Сообщений: 694
Сказал спасибо: 24
Сказали Спасибо 38 раз(а) в 31 сообщении(ях)
|
Re: ВОПРОС ПО СИ
Сообщение от pambaru
|
Сообщение от Gladkih
|
Здраствуйте форумчане.у меня возникла проблема.я программирую в ЦЦСПИК иесть необходимость выводить текст.так вот проблема в том что у меня есть переменная КОРЕК она 16 битовая,каждый бит это флаг.так вот я делаю по нажатию клавишы меняется номер байта в переменной корек и соответственно этому номеру вывожу текст.как я понял мне не имеет смысла писать 16 кейсов (т.е. для каждого бита отдельно).есть необходимость чтобы создать массив из 16 строк.чтобы я обрашался к каждой строке в отдельности.так мне посоветовали следующее
char *KOREK[]={"яиаи","3аи","ячми","фца"};
lcd_gotoxy(1,1);
printf(lcd_putc,KOREK[0]);
так вот вместо текста выводятся иероглифы.
извините за столь сумбурное обьяснение проблемы,надеюсь вы поняли.
|
В кодевижн у меня это выглядит так, думаю в ЦЦС примерно также (может flash как-то по другому будет выглядеть):
flash char stMenu1[]="aaaa";
flash char stMenu2[]="bbbb";
flash char stMenu3[]="cccc";
flash char stMenu4[]="dddd";
flash char* flash KOREK[3]={stMenu1, stMenu2, stMenu3};
|
БОЛЬШОЕ СПАСИБО ЗА ПОМОЩЬ ВСЕ ПОЛУЧИЛОСЬ КАК ВЫ ПОСОВЕТОВАЛИ.ТОЛЬКО УБРАЛ ФЛЕШ.ВСЕ ОКЕЙ.ЕЩЕ РАЗ СПАСИБО.
|
|
|
|
04.12.2008, 16:23
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.03.2007
Сообщений: 1,363
Сказал спасибо: 85
Сказали Спасибо 621 раз(а) в 376 сообщении(ях)
|
Re: ВОПРОС ПО СИ
Сообщение от Gladkih
|
БОЛЬШОЕ СПАСИБО ЗА ПОМОЩЬ ВСЕ ПОЛУЧИЛОСЬ КАК ВЫ ПОСОВЕТОВАЛИ.ТОЛЬКО УБРАЛ ФЛЕШ.ВСЕ ОКЕЙ.ЕЩЕ РАЗ СПАСИБО.
|
Вместо flash может const поставить, а то как бы в ОЗУ компилятор все эти строки не разместил.
|
|
|
|
04.12.2008, 16:30
|
|
Временная регистрация
Регистрация: 06.12.2007
Сообщений: 91
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Так в озу и идет..
__________________
разум когда-нибудь победит... (с)
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 21:10.
|
|