|
или глюк в IAR, или я что- то упускаю, вопрос по массиву |
|
|
|
Jan 22 2011, 18:29
|
Профессионал
    
Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079

|
вот код Код void main (void) { __enable_interrupt(); uint32_t timeStamp =CntT1_ms;
char data [15]; uint8_t num = 0; putString("AT+CSQ\r"); //уровень приема сигнала
for(;;){ if ((CntT1_ms-timeStamp) >= LED_BLINK_PERIOD) { //off (LED); putString("AT\r"); timeStamp =CntT1_ms; } if ( hasinput() ) { data [num] = getchar(); cpl (LED); }
} } во- первых, странно, что ИАР ругается на варнинг на объявление массива char data[15]; Warning[Pe550]: variable "data" was set but never used D:\works\projects\Blink_LED mega8 +HT\main.c 102 И как только часть кода data [num] = getchar(); включаю в работу (убираю комментарии), отказывается работать часть кода между main (); и for (;;) т.е. putString("AT+CSQ\r"); Что за странное поведение?
Сообщение отредактировал Метценгерштейн - Jan 22 2011, 18:30
|
|
|
|
|
 |
Ответов
|
Jan 23 2011, 12:32
|
Профессионал
    
Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079

|
хорошо, простой пример: есть некий Код void main(void) { char mass [10]; int a = 3; int b = 5;
if (a < b) { mass [0] = 'D'; } } и, получается, здесь тоже надо массив как статик указывать? все- равно не понятно.
|
|
|
|
|
Jan 23 2011, 13:14
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
QUOTE (Метценгерштейн @ Jan 23 2011, 15:32)  и, получается, здесь тоже надо массив как статик указывать? Надо делать так, как Вам надо. При этом, если Вам надо размещать массив в стеке то надо иметь в стеке достаточно места. Где Вам надо размещать массив Вы не знаете, что такое стек Вы не знаете. Размера стека который Вам нагенерил какой-нибудь безумный визард по умолчанию Вы тоже не знаете (подсказываю он у Вас в проекте 32 бвйта из которых Вы лихо 15 отдали под массив). Рановато взялись программировать  .
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
Сообщений в этой теме
Метценгерштейн или глюк в IAR, или я что- то упускаю Jan 22 2011, 18:29 OLEG_BOS Цитата(Метценгерштейн @ Jan 22 2011, 20:2... Jan 22 2011, 19:29 Dog Pawlowa Мне даже две первые строчки непонятны.
Разрешить ... Jan 22 2011, 19:55 Метценгерштейн прерывания используются для другой ф-ии- вывода ст... Jan 22 2011, 19:59 Dog Pawlowa Цитата(Метценгерштейн @ Jan 22 2011, 22:5... Jan 22 2011, 20:03 Метценгерштейн что значит не беру, еще как беру, смотрите
Кодif ... Jan 22 2011, 20:10 OLEG_BOS Цитата(Метценгерштейн @ Jan 22 2011, 22:1... Jan 22 2011, 20:16 Метценгерштейн значение num меняется по плану, оно ++, но закомме... Jan 22 2011, 20:20 OLEG_BOS Цитата(Метценгерштейн @ Jan 22 2011, 22:2... Jan 22 2011, 20:24 Метценгерштейн вот зараза то
и, что он в данном случае наопти... Jan 22 2011, 20:27 sigmaN Цитатаон ругается на переменную data [],
а это мас... Jan 22 2011, 22:21 Метценгерштейн на самом деле интересно и не понятно, зачем ИАР вы... Jan 22 2011, 22:51 zltigo QUOTE (Метценгерштейн @ Jan 23 2011, 01:5... Jan 22 2011, 23:38  OLEG_BOS Цитата(zltigo @ Jan 23 2011, 01:38) Перед... Jan 22 2011, 23:48 DpInRock Наплевать что вы записываете что-т о в переменную.... Jan 22 2011, 23:20 rezident Насчет putString("AT+CSQ\r"); не ув... Jan 22 2011, 23:35 Dog Pawlowa Цитата(Метценгерштейн @ Jan 23 2011, 15:3... Jan 23 2011, 12:58 Метценгерштейн читаю, читаю...
пока не разобрался еще.
Если есть ... Jan 23 2011, 13:07 Метценгерштейн Мне как- то лет в 18 инструктор по вождению говори... Jan 23 2011, 13:24 Dog Pawlowa Цитата(Метценгерштейн @ Jan 23 2011, 16:2... Jan 23 2011, 13:36 zltigo QUOTE (Метценгерштейн @ Jan 23 2011, 16:2... Jan 23 2011, 13:41 Метценгерштейн На самом деле, спасибо за то, что прояснили ситуац... Jan 23 2011, 13:48 zltigo QUOTE (Метценгерштейн @ Jan 23 2011, 16:4... Jan 23 2011, 13:51 Метценгерштейн ldi r16, low(RAMEND)
out SPL, r16 ;... Jan 23 2011, 14:00 zltigo QUOTE (Метценгерштейн @ Jan 23 2011, 17:0... Jan 23 2011, 14:35 Метценгерштейн Получается, так. Я устанавливал только указатель н... Jan 23 2011, 15:02 rezident Метценгерштейн, любая работа должна приносить како... Jan 23 2011, 20:39 Метценгерштейн rezident
Спасибо, дошло до меня. Я же при вызове ... Jan 24 2011, 08:50 sigmaN покидание функции main - последняя операция, котор... Jan 24 2011, 09:51 Метценгерштейн хорошо, но программа же выходит из main, для того,... Jan 24 2011, 10:29 sigmaN Выход из функции и вызов другой функции - разные... Jan 24 2011, 11:00 Метценгерштейн т.е. вызываемая ф-я
getchar();
не может передать ... Jan 24 2011, 11:21 sigmaN Нет. Возврат значения он на то и возврат, чтобы ве... Jan 24 2011, 12:34 Метценгерштейн Извиняюсь, похоже, торможу я хорошо
Я, безусло... Jan 24 2011, 13:44 demiurg_spb to Метценгерштейн:
Вы кстати в курсе что в IAR-AVR... Jan 24 2011, 16:49 sigmaN Цитатабыло бы все нормально? Не было у меня все но... Jan 24 2011, 14:17 Метценгерштейн Да, спасибо Вам, и всем кто откликнулся за помощь.... Jan 24 2011, 14:19 sigmaN Да да, главное не сдаваться. Jan 24 2011, 14:24
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|