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

 
 
> непонятность с IAR, глюки кода
Метценгерштейн
сообщение Sep 1 2013, 17:44
Сообщение #1


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

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



внутри локальной ф-ии объявляю символ и передаю его на печать в консольку- в этом варианте работает
Код
    char x1, x2, x3, x4, x5, x6, x7, x8;
    //  char xx[8];
      x1='y';
      putString("\r\n");
      putchar(x1);
      putString("\r\n");


так уже не работает
Код
// char x1, x2, x3, x4, x5, x6, x7, x8;
      char xx[8];
      xx [0]='h';
      putString("\r\n");
      putchar(xx [0]);
      putString("\r\n");


а добавив static, работает
Код
// char x1, x2, x3, x4, x5, x6, x7, x8;
      static char xx[8];
      xx [0]='h';
      putString("\r\n");
      putchar(xx [0]);
      putString("\r\n");


и почему себя так ведет?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Метценгерштейн
сообщение Sep 1 2013, 18:45
Сообщение #2


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

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



для меги8 сколько нормально?
сейчас 0x20 стоит
Go to the top of the page
 
+Quote Post
Xenia
сообщение Sep 1 2013, 18:51
Сообщение #3


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(Метценгерштейн @ Sep 1 2013, 22:45) *
для меги8 сколько нормально?
сейчас 0x20 стоит


Это не от типа МК зависит, а от того, как много локальных переменных вы заводите в функциях, и как глубоко они у вас вложены.
Для начала увеличьте стек на те самые 8 байт, и проверьте мою гипотезу.

Только имейте в виду, что IAR заводит два стека! Это RStack (для возвратов из подпрограмм) и CStack (для хранения локальных переменных). Вам надо увеличить второй.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


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


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