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

 
 
> Как определить массив строк в С для AVR?, в СИ ноль с +
The Fresh
сообщение May 1 2007, 10:04
Сообщение #1


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

Группа: Новичок
Сообщений: 146
Регистрация: 3-12-06
Пользователь №: 23 071



Нужно харнить в озу строки есть char szString[15] = "555555555555", как сделать чтобы это был массив строк от 1 до 5 скажем.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
The Fresh
сообщение May 1 2007, 20:22
Сообщение #2


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

Группа: Новичок
Сообщений: 146
Регистрация: 3-12-06
Пользователь №: 23 071



Большой респфенкс!

Есть вот такой код. Суть отправлять dest=0, dest=1.....,dest=4. Не нравится он мне, кажется легче можно сделать подскажите и засыпает вот такими мессагами

main_ATMEGA8.c:251: warning: initialization makes integer from pointer without a cast
main_ATMEGA8.c:252: warning: initialization makes integer from pointer without a cast
main_ATMEGA8.c:255: warning: implicit declaration of function `itoa'
main_ATMEGA8.c:256: warning: assignment makes integer from pointer without a cast

на эти строки соответственно
char temp = szstring;
char temp2 = "";
itoa (index,temp2, 10);
temp=temp+temp2+"\x0d";


Сам код

const char szstring[] PROGMEM = "dest=";
char index=0;

char temp2 = "";
while (index<5){
UART_ClearRxBuf();
char temp = szstring;
itoa (index,temp2, 10);
temp=temp+temp2+"\x0d";
UART_outstr(temp);
index=index+1;
}

И если необходимо извлечь из строки цифру и преобразовать скажем в цифровое значение, то можно ли сделать так (извлекаем 95)
char Gettemp(void)
{
char n = 0;
char* pBuf = UART_Recv(&n);//pBuf= "temp: 0,95"
return atoi(strncpy (pBuf, strchr(pBuf, ",")+1, 2));
}

Сообщение отредактировал The Fresh - May 1 2007, 20:46
Go to the top of the page
 
+Quote Post
zltigo
сообщение May 1 2007, 21:19
Сообщение #3


Гуру
******

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



Цитата(The Fresh @ May 1 2007, 20:22) *
char temp = szstring;
char temp2 = "";
itoa (index,temp2, 10);
temp=temp+temp2+"\x0d";

Сказать что-либо разумное мне по этому поводу трудно sad.gif, поскольку все это представляет из бессмысленный набор всяких слов.
Для начала писания, надо хоть самую малость представлять язык. Не воспринимайте, пожалуйса это слижком близко к сердцу - но надо почитать хоть чуть-чуть о типах данных.
"char temp и temp2" это байты в них "строка" не вмещается ну никак. "\x0d" - это тоже строка и в ней два байта и ее тоже нельзя присвоить байту. itoa() имеет три аргумента, причем первый это указатель на строчку, чем 'index' не является - он у Вас опять байт.
Далее.
Cо стоками операции '+' и прочие не выполняются - смотрите библиотечные функции strcat() и прчие для работы со строками. Указатели не могут указывать в никуда, точнее конечно могут, но ими тогда пользоваться нельзя, поскольку туда, куда они указывают должно быть место, для того чего туда хочется положить.


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

Сообщений в этой теме
- The Fresh   Как определить массив строк в С для AVR?   May 1 2007, 10:04
- - zltigo   Цитата(The Fresh @ May 1 2007, 10:04) Нуж...   May 1 2007, 10:43
- - nss   Кодchar *StringArray[]={ "ст...   May 1 2007, 11:42
|- - zltigo   Цитата(nss @ May 1 2007, 11:42) Кодchar *...   May 1 2007, 11:54
|- - nss   Цитата(zltigo @ May 1 2007, 12:54) Это ма...   May 1 2007, 12:19
|- - zltigo   Цитата(nss @ May 1 2007, 12:19) Человеку ...   May 1 2007, 12:23
- - The Fresh   В процессе работы неоходимо считать с девайса ASCI...   May 1 2007, 18:40
|- - Legotron   Если заранее известна длина предполагамых строк в ...   May 1 2007, 19:31
- - The Fresh   Да я и сам догадывался, что char это max=255 или б...   May 2 2007, 03:52
|- - Losik   Цитата(The Fresh @ May 2 2007, 03:52) Да ...   May 2 2007, 08:01
||- - zltigo   Цитата(Losik @ May 2 2007, 08:01) там мно...   May 3 2007, 14:19
|||- - Losik   Цитата(zltigo @ May 3 2007, 14:19) Здесь ...   May 3 2007, 14:32
||- - zltigo   Если "чисто формально" повторить и заста...   May 3 2007, 14:51
|- - zltigo   Цитата(The Fresh @ May 2 2007, 03:52) ист...   May 2 2007, 08:13
- - The Fresh   Немного поправил с учетом критики, но немного не р...   May 2 2007, 15:57
- - AndryG   ЦитатаБыла у меня книжка в электронном виде автор ...   May 3 2007, 10:01
- - Pyku_He_oTTyda   Могу отправить, у меня есть в пдф, меньше метра.   May 3 2007, 18:16
- - The Fresh   Спасибо всем, буду книжки читать, попробую хотя бы...   May 5 2007, 14:02
- - mdmitry   Строки из ПЗУ в РАМ напрямую не копируются в AVR. ...   May 5 2007, 16:53


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

 


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


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