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

 
 
> Предупреждение при передаче строки как аргумент функции в Keil
MaxiMuz
сообщение Feb 26 2014, 12:15
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 15-04-10
Из: Волгоград
Пользователь №: 56 658



В отдельном подключенном модуле описана ф-ция:
Код
void LCD_STRING (u8 *STRING)
{
    while (*STRING) {LCD_DAT (*STRING); STRING++;}
}

в майне строчка с вызовом
Цитата
LCD_STRING ("Start_LCD");
помечается желтым треугольником с восклицательным знаком и сообщением:
passing `char [10]` to parameter of type `u8 *` (aka `usigned char *`) converts between pointers to integer types with .... дальше сообщение выходит за рамки экрана и недоступно к прочтению.
Что за предупреждение , что не так ?

п.с. с ф-цией LCD_DAT (*STRING); все впорядке
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
mdmitry
сообщение Feb 26 2014, 13:49
Сообщение #2


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(MaxiMuz @ Feb 26 2014, 16:15) *
Код
void LCD_STRING (u8 *STRING)

функция требует аргумента указатель на u8.
Код
LCD_STRING ("Start_LCD");

Передается строка, имеющая тип char*.
О чем Вам и сообщил компилятор:
Код
passing `char [10]` to parameter of type `u8 *` (aka `usigned char *`)


Попробуйте грубо явное преобразование типов (хотя это плохая манера):
Код
LCD_STRING ((u8*)"Start_LCD");


P.S. Сергей Борщ опередил.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 29th July 2025 - 10:15
Рейтинг@Mail.ru


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