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

 
 
> Структура массивов, Совсем что-то все плохо:(
Буратино
сообщение Jul 17 2009, 16:24
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



IAR C/C++ Compiler for AVR
5.10A/W32 [Evaluation] (5.10.1.3)
Проц - Mega88 (SRAM 1024 байта)

Код
main
{
...
  struct{ //объявляю структуру данных
    unsigned long
     _Arr_Shift_Delay[11];
    unsigned char
     _Arr_Nomer_Datchika[11],
     _Num_Sensor[111],
     _BAT_Sensor[111],
     _Time_SensorSH[111],
     _Time_SensorH[111],
     _Time_SensorL[111];
  }  Buffer_Values;

         IndexArr=0;
         Buffer_Values._Time_SensorSH[IndexArr]=(temp_timer>>16); // Инициализирую поля в структуре
         Buffer_Values._Time_SensorH[IndexArr]=(temp_timer>>8);
         Buffer_Values._Time_SensorL[IndexArr]=(temp_timer);

         Tx_Buffer[7]=Buffer_Values._Time_SensorSH[IndexArr]; // Считываю значения в массив "Tx_Buffer"
         Tx_Buffer[8]=Buffer_Values._Time_SensorH[IndexArr];
         Tx_Buffer[9]=Buffer_Values._Time_SensorL[IndexArr];
...
}


Блин, а че это в массиве Tx_Buffer левые значения?
если грузить Tx_Buffer вот так:

Код
         IndexArr=0;
         Buffer_Values._Time_SensorSH[IndexArr]=(temp_timer>>16);  
              Tx_Buffer[7]=Buffer_Values._Time_SensorSH[IndexArr];
         Buffer_Values._Time_SensorH[IndexArr]=(temp_timer>>8);
              Tx_Buffer[8]=Buffer_Values._Time_SensorH[IndexArr];
         Buffer_Values._Time_SensorL[IndexArr]=(temp_timer);
             Tx_Buffer[9]=Buffer_Values._Time_SensorL[IndexArr];


то все в поряде laughing.gif

Сообщение отредактировал Буратино - Jul 17 2009, 16:49


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Буратино
сообщение Jul 18 2009, 10:27
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 433
Регистрация: 27-10-08
Из: Украина, Киев
Пользователь №: 41 215



Полный абзац. Меняю размерности массивов, все подвисает и глючит.
Не может это быть связано с размером кода на выходе? Размер получаемого файла *.HEX с максимальной оптимизацией равен 3,81к, без нее 5,69к
Я раньше пробовал использовать ICCAVR, он сообщал программисту сколько использовано флеши, как в ИАре посмотреть сколько остается?

Сообщение отредактировал Буратино - Jul 18 2009, 10:29


--------------------
Брак - это такой вид отношений, в которых один всегда прав, - а другой - муж.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jul 18 2009, 11:44
Сообщение #3


Гуру
******

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



Цитата(Буратино @ Jul 18 2009, 13:27) *
Не может это быть связано с размером кода на выходе?
Нет. Если бы не хватало флеша, компилятор вам сообщил бы об этом и не смог бы сделать hex.
Цитата(Буратино @ Jul 18 2009, 13:27) *
Я раньше пробовал использовать ICCAVR, он сообщал программисту сколько использовано флеши, как в ИАре посмотреть сколько остается?
Во-первых включите выдачу всех сообщений (Tools->Options->Messages->Show build messages-> all). Размер занятого ОЗУ и флеша будет показан в окне Messages после линковки. Но вы вообще понимаете, что у АВРа совершенно разные адресные пространства ОЗУ и флеша? И что проблемы ваши в ОЗУ. Сколько ОЗУ вы зарезервировали под стек данных?
Цитата(DpInRock @ Jul 18 2009, 14:13) *
Переместите их объявление выше мэйна и все перестанет глючить.
Смелое заявление.


--------------------
На любой вопрос даю любой ответ
"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

Сообщений в этой теме
- Буратино   Структура массивов   Jul 17 2009, 16:24
- - Rst7   Никак volatile где-то забыт? И вообще, в таких сл...   Jul 17 2009, 16:43
- - Буратино   Не, никаким местом оно к прерываниям не касается. ...   Jul 17 2009, 16:48
- - Сергей Борщ   Цитата(Буратино @ Jul 17 2009, 19:24) Про...   Jul 17 2009, 18:11
|- - MrYuran   Цитата(Буратино @ Jul 18 2009, 14:27) как...   Jul 18 2009, 10:52
- - DpInRock   ЦитатаМеняю размерности массивов А зачем эта струк...   Jul 18 2009, 11:13
- - Буратино   Цитата(DpInRock @ Jul 18 2009, 15:13) А з...   Jul 18 2009, 11:53
- - DpInRock   Чисто теор., локальные данные располагаются в стек...   Jul 18 2009, 13:10
- - Буратино   вынес за main объявление структуры, увеличил разме...   Jul 18 2009, 13:23
- - sergeeff   Коллега Борщ вам же даже посчитал, что ваша структ...   Jul 18 2009, 16:22
|- - Буратино   Цитата(sergeeff @ Jul 18 2009, 20:22) Кол...   Jul 18 2009, 23:41
|- - sergeeff   Цитата(Буратино @ Jul 19 2009, 03:41) И п...   Jul 19 2009, 12:06
|- - Буратино   Цитата(sergeeff @ Jul 19 2009, 16:06) укл...   Jul 19 2009, 13:00
- - Буратино   Таакс ,дело сдвинулось с мертвой точки Переместил ...   Jul 19 2009, 14:27
- - sergeeff   Цитата(Буратино @ Jul 19 2009, 18:27) Нуж...   Jul 19 2009, 14:41


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

 


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


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