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

 
 
> Инициализация структуры во флэши.
Stanislav_S
сообщение Aug 1 2008, 17:11
Сообщение #1


извечный пессимист
*****

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



Ссори если глупый вопрос, но голова что то совсем нихрена не работает. Имеем такую структуру:
struct Parametr
{
__flash char const *str;
unsigned char parametr;
__flash unsigned char *adr;
__flash unsigned int *scale_factor;

};
struct Parametr PARAMETRS[27];
Теперь ее надо проинициализировать, делаю так
char const __flash S0[]= {"Вр ЦИКЛА "};

struct Parametr PARAMETRS[]=
{
{S[0],0,0,1}
};
компилятор ругается на последние два поля, что понятно, но к сожалению я не понимаю как правильно проинициализировать поля adr и scale_factor. Чтение документации пока ничего не прояснило, как правильно надо делать? Или я хочу странного? (IAR AVR 5.12)


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Непомнящий Евген...
сообщение Aug 4 2008, 04:05
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



Цитата(Stanislav_S @ Aug 1 2008, 21:11) *
struct Parametr
{
__flash char const *str;
unsigned char parametr;
__flash unsigned char *adr;
__flash unsigned int *scale_factor;

};
struct Parametr PARAMETRS[]=
{
{S[0],0,0,1}
};


А кстати, вы точно уверены, что два последних члена именно указатели? Получается, что вы руками засовываете значения во флеш, а потом обращаетесь к ним по фиксированным адресам?

И кстати, приведение скорее всего надо делать не просто к (unsigned char *), а к ( __flash unsigned char *) - в ИАР это разные типы.
Go to the top of the page
 
+Quote Post
Stanislav_S
сообщение Aug 4 2008, 08:29
Сообщение #3


извечный пессимист
*****

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



Цитата(Непомнящий Евгений @ Aug 4 2008, 09:05) *
А кстати, вы точно уверены, что два последних члена именно указатели? Получается, что вы руками засовываете значения во флеш, а потом обращаетесь к ним по фиксированным адресам?

И кстати, приведение скорее всего надо делать не просто к (unsigned char *), а к ( __flash unsigned char *) - в ИАР это разные типы.

Пока вышел из ситуции вот так:
__flash unsigned int KF[]=
{
30
};

__flash unsigned char ADR[]=
{
0
};

struct Parametr PARAMETRS[]=
{
{S0,0,&ADR[0],&KF[0]}
};


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Stanislav_S   Инициализация структуры во флэши.   Aug 1 2008, 17:11
- - rezident   Явное приведение типа используйте. Типа unsigned i...   Aug 1 2008, 17:21
|- - Stanislav_S   Цитата(rezident @ Aug 1 2008, 22:21) Явно...   Aug 1 2008, 17:32
|- - rezident   Цитата(Stanislav_S @ Aug 1 2008, 23:32) а...   Aug 1 2008, 17:41
- - Сергей Борщ   Цитата(Stanislav_S @ Aug 4 2008, 11:29) П...   Aug 4 2008, 13:35
|- - Stanislav_S   Цитата(Сергей Борщ @ Aug 4 2008, 18:35) Я...   Aug 5 2008, 14:24
|- - Сергей Борщ   Цитата(Stanislav_S @ Aug 5 2008, 17:24) Х...   Aug 5 2008, 14:38
|- - Stanislav_S   Цитата(Сергей Борщ @ Aug 5 2008, 19:38) А...   Aug 5 2008, 15:19
|- - Непомнящий Евгений   Цитата(Stanislav_S @ Aug 5 2008, 19:19) И...   Aug 6 2008, 04:10
|- - Stanislav_S   Цитата(Непомнящий Евгений @ Aug 6 2008, 09...   Aug 6 2008, 07:44
|- - Alex_1811   Подскажите как передать функции указатель на струк...   May 25 2011, 10:52
|- - Палыч   Использовать спецификатор __flash   May 25 2011, 10:59
|- - Alex_1811   Цитата(Палыч @ May 25 2011, 13:59) Исполь...   May 25 2011, 11:03
|- - Палыч   Ругается он по другой причине. Вот так - не ругает...   May 25 2011, 11:09
|- - Alex_1811   Цитата(Палыч @ May 25 2011, 14:09) Вот та...   May 25 2011, 11:17
- - _Pasha   Цитата(Stanislav_S @ Aug 4 2008, 11:29) П...   Aug 4 2008, 13:39


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

 


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


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