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

 
 
> Заблудился в трех соснах, не заполняется массив в RAM
tvilsa
сообщение Jul 15 2011, 04:34
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 53
Регистрация: 27-01-09
Пользователь №: 43 990



Добрый день!
Такая проблема. надо заполнить массив в RAM.
Пишу такой код
CODE
#include <msp430x26x.h>

unsigned int y;
char a[4000];

void main(void)
{

WDTCTL = WDTPW+WDTHOLD; // Stop WDT
for (y=0;y<4000;y++) a[y]=1;

while(1)
{ }
}


зашиваю в контроллер msp430f2618
все работает. массив заполняется.

меняю размер массива
CODE
#include <msp430x26x.h>

unsigned int y;
char a[7000];

void main(void)
{

WDTCTL = WDTPW+WDTHOLD; // Stop WDT
for (y=0;y<7000;y++) a[y]=1;

while(1)
{ }
}

и все перестает работать.
более того при зашивке даже кнопка GO не активна.

Ошибок при компиляции не выдает. В чем может быть дело?
Компилятор IAR EW430 5.10
Заранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ld81
сообщение Jul 15 2011, 05:00
Сообщение #2





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



Попробуй так

Код
#include <msp430x26x.h>

unsigned int y;
char a[7000];

int __low_level_init(void)
{
  WDTCTL = WDTPW + WDTHOLD;               // Stop WDT
  // place your code for hardware initialization here
  /*==================================*/
  /* Choose if segment initialization */
  /* should be done or not.           */
  /* Return: 0 to omit seg_init       */
  /*         1 to run seg_init        */
  /*==================================*/
  return (1);
}
void main(void)
{

for (y=0;y<7000;y++) a[y]=1;

while(1)
{ }
}
Go to the top of the page
 
+Quote Post



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

 


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


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