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

 
 
> Help, Помогите с Си
Denisvak
сообщение Apr 22 2006, 12:34
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 141
Регистрация: 7-03-06
Из: Санкт-Петербург
Пользователь №: 15 038



Начал изучать Си в CodeVisionAVR

Объясните пожалуйста почем код:
Код
unsigned char s[11]="test";
uart_send_string(s);
работает, а код:
Код
uart_send_string("test");
не фурычит?

Вот сам uart_send_string

Код
void uart_send_string(char* s)
{
int i;
for(i=0; i<strlen(s); ++i)
{
uart_transmit(s[i]);
};
}


И ещё как самой переменной "s" присвоить другое значение
Код
strcpy(s, "test2");
тоже не работает
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 5)
vet
сообщение Apr 22 2006, 13:20
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 550
Регистрация: 16-06-04
Из: Казань
Пользователь №: 32



void uart_send_string_from_flash(flash char* s) {
...
}


...

uart_send_string_from_flash("test");

Подробности во встроенном хелпе.


--------------------
Главная линия этого опуса ясна мне насквозь!
Go to the top of the page
 
+Quote Post
Denisvak
сообщение Apr 22 2006, 13:39
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 141
Регистрация: 7-03-06
Из: Санкт-Петербург
Пользователь №: 15 038



Ответ компилятора:
function parametr #1 incompatible with its declaration

Бред какой-то. Не понимаю
Go to the top of the page
 
+Quote Post
WHALE
сообщение Apr 22 2006, 13:49
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



а если так:
void uart_send_string_from_flash(flash char* s) {
...
}
flash char *s="test";
uart_send_string_from_flash(s);


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
Denisvak
сообщение Apr 22 2006, 14:34
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 141
Регистрация: 7-03-06
Из: Санкт-Петербург
Пользователь №: 15 038



Ага, переписал
Код
void uart_send_flash( char flash* s)
{
int i;
for(i=0; i<strlen(s); ++i)
uart_transmit(s[i]);
}


на
Код
void uart_send_flash( char flash* s)
{
int i;
for(i=0; i<strlenf(s); ++i)
uart_transmit(s[i]);
}


и заработало

Вызов
Код
uart_send_flash("STBY");


Я так понял что это всё работает только через флеш... blink.gif
Go to the top of the page
 
+Quote Post
WHALE
сообщение Apr 22 2006, 17:03
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



это работает везде,читай хэлп к компилятору.


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 16:37
Рейтинг@Mail.ru


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