реклама на сайте
подробности

 
 
> Помогите плиз
MMP
сообщение Apr 7 2006, 16:20
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 43
Регистрация: 7-07-05
Из: г.Магнитогорск
Пользователь №: 6 618



Проблема с выводом переменной на LCD:
есть функция:
void LCD4_PutS(unsigned char *data)
{
unsigned char c = 0;

while (data[c] != 0) {
LCD4_WR4bits( data[c] >> 4);
LCD4_WR4bits( data[c++]);
DELAY;
}
}

Пишув main
LCD4_PutS("Ля-ля");
все ок
задаю впеременную
unsigned char Mes0[]={"Ля-ля"};
или
unsigned char Mes0[]={"131,124,131"};

и пишу

LCD4_PutS(Mes0);
то выдвет ошибку multiple define
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zltigo
сообщение Apr 7 2006, 17:21
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(rezident @ Apr 7 2006, 18:41) *
Не
Код
LCD4_PutS(Mes0);
а
Код
LCD4_PutS(&Mes0);
надо. У вас же указатель в функцию передается, а не значение переменной.

Я Вас умоляю! Два перечисленных ранее варианта формально должны компилироваться и работать -
и при всей НЕНУЖНОЙ запутанности инициализации речь может идти о личных пристрастиях КОНКРЕТНОГО компилятора.

А вот предложенный вами вариант, напротив, должен отвергнуть ЛЮБОЙ компилятор.
Ну полные непонятки с адресом Mes0 :-) У Mes0[0] есть адрес и &Mes0[0] полностью эквивалентно
Mes0.

Цитата
LCD4_PutS(Mes0);
то выдвет ошибку multiple define


Может ХОТЬ СТРОЧКУ УКАЖЕТЕ НА КОТОРУЮ РУГАЕТСЯ!
Или Вы чего-то не договариваете, либо
Mes0 уже где-то существует, либо .... а нет других вариантов.












Цитата(rezident @ Apr 7 2006, 19:17) *
Я конечно не великий знаток Си, но что мешает написать так?

Ничего не мешает и 'правильнее', только к вопросу отношения не имеет.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 01:43
Рейтинг@Mail.ru


Страница сгенерированна за 0.01368 секунд с 7
ELECTRONIX ©2004-2016