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

 
 
> Не могу выполнить команду strcpy над массивами, Один массив во флешь. другой в оперативке
*SERG
сообщение Feb 21 2007, 06:52
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 274
Регистрация: 10-08-05
Из: Екатеринбург
Пользователь №: 7 517



Вот код. Думаю, что неправильно объявляю переменные

char temp_inf[]="";
__flash char const knopka2[]={"knopka2"};


strcpy(temp_inf, knopka2); эту строчку не хочет компелить

Где ошибка sad.gif ?

Или подскажите плиз, как это правильно делается
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение Feb 21 2007, 10:01
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(*SERG @ Feb 21 2007, 05:52) *
strcpy(temp_inf, knopka2); эту строчку не хочет компелить
Где ошибка sad.gif ?
Ошибка в том, что вы используете функцию, которой необходимо, чтобы обе строки были в ОЗУ. Для доступа во флеш используются совсем другие команды ассемблера.

Поищите подходящую функцию в pgmspace.h

Цитата(*SERG @ Feb 21 2007, 08:57) *
Так понял что можно ещё через указатель работать, как лучше то?
Что значит "еще"? ваши temp_inf и knopka2 и есть самые настоящие указатели.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
*SERG
сообщение Feb 21 2007, 12:56
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 274
Регистрация: 10-08-05
Из: Екатеринбург
Пользователь №: 7 517



Цитата(Сергей Борщ @ Feb 21 2007, 10:01) *
Цитата(*SERG @ Feb 21 2007, 05:52) *

strcpy(temp_inf, knopka2); эту строчку не хочет компелить
Где ошибка sad.gif ?
Ошибка в том, что вы используете функцию, которой необходимо, чтобы обе строки были в ОЗУ. Для доступа во флеш используются совсем другие команды ассемблера.

Поищите подходящую функцию в pgmspace.h

Цитата(*SERG @ Feb 21 2007, 08:57) *
Так понял что можно ещё через указатель работать, как лучше то?
Что значит "еще"? ваши temp_inf и knopka2 и есть самые настоящие указатели.


Вот пример из пдф, что же тогда за переменная msg

Examples
A program defines a couple of strings that are stored in flash memory:
__flash char str1[] = "Message 1";
__flash char str2[] = "Message 2";
The program creates a __flash pointer to point to one of these strings, and assigns it
to str1:
char __flash *msg;
msg=str1;
Go to the top of the page
 
+Quote Post
prottoss
сообщение Feb 21 2007, 13:20
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(*SERG @ Feb 21 2007, 16:56) *
Вот пример из пдф, что же тогда за переменная msg
Examples
A program defines a couple of strings that are stored in flash memory:
__flash char str1[] = "Message 1";
__flash char str2[] = "Message 2";
The program creates a __flash pointer to point to one of these strings, and assigns it
to str1:
char __flash *msg;
msg=str1;
str1, str2 и msg - УКАЗАТЕЛИ НА ТИП __flash char


--------------------
Go to the top of the page
 
+Quote Post
*SERG
сообщение Feb 21 2007, 14:47
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 274
Регистрация: 10-08-05
Из: Екатеринбург
Пользователь №: 7 517



Цитата(prottoss @ Feb 21 2007, 13:20) *
Цитата(*SERG @ Feb 21 2007, 16:56) *
Вот пример из пдф, что же тогда за переменная msg
Examples
A program defines a couple of strings that are stored in flash memory:
__flash char str1[] = "Message 1";
__flash char str2[] = "Message 2";
The program creates a __flash pointer to point to one of these strings, and assigns it
to str1:
char __flash *msg;
msg=str1;
str1, str2 и msg - УКАЗАТЕЛИ НА ТИП __flash char


Т.е. в перменной msg находиться адрес начала массива str1, так чтоли?
И если так, то каким образом массив из флешь в озу можно переписать?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- *SERG   Не могу выполнить команду strcpy над массивами   Feb 21 2007, 06:52
- - mihask   Цитата(*SERG @ Feb 21 2007, 09:52) Вот ко...   Feb 21 2007, 08:52
- - *SERG   Да вроде разобрался, надо подключить библиотеку #i...   Feb 21 2007, 09:57
|- - Сергей Борщ   Цитата(*SERG @ Feb 21 2007, 13:47) Т.е. в...   Feb 21 2007, 15:19
||- - *SERG   Цитата(Сергей Борщ @ Feb 21 2007, 15:19) ...   Feb 21 2007, 19:15
||- - prottoss   Цитата(*SERG @ Feb 21 2007, 23:15) Цитата...   Feb 21 2007, 19:31
|||- - *SERG   Цитата(prottoss @ Feb 21 2007, 19:31) Цит...   Feb 21 2007, 19:50
|||- - xemul   Может просто слегка подправить стандартную strcpy?...   Feb 21 2007, 20:49
|||- - exSSerge   IAR для AVR имеет специальное расширение для указа...   Feb 21 2007, 21:27
||- - Сергей Борщ   Цитата(*SERG @ Feb 21 2007, 18:15) Пока п...   Feb 21 2007, 19:57
|- - prottoss   Цитата(*SERG @ Feb 21 2007, 18:47) каким ...   Feb 21 2007, 16:00
- - *SERG   Хорошо, порасбираюсь что к чему. спасибо!...   Feb 22 2007, 06:21


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

 


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


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