|
или глюк в 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, 13:24
|
Профессионал
    
Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079

|
Мне как- то лет в 18 инструктор по вождению говорил, что рано я за руль сел... И, что? послушать его надо было? И больше не садиться? Тогда и не научился бы никогда. Сейчас я довольно неплохо езжу- практика, практика... Так что неуместно Ваше замечание. Тем не менее, за помощь спасибо.
Я знаю что такое стек, писал на асме под авры.
То, что таким образом, объявляя массив, загоняю его в стек- признаю, упустил.
Сейчас читаю литературу, пытаюсь найти то, где это написано, что стек у меня 32 байта.
И, напомню, мы в разделе для начинающих... Думаю, многие начинающие на подобные грабли да наступали.
|
|
|
|
|
Jan 23 2011, 13:36
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(Метценгерштейн @ Jan 23 2011, 16:24)  И, напомню, мы в разделе для начинающих... Это не освобождает Вас от необходимости осмысливать вопросы, если Вы хотите получить ответы. Надеюсь, за рулем Вы более адекватны. Тут пытаются Вам помочь, но не очень понятно, что Вам нужно. Массив создать? - зачем, если он не используется? Что Вы пытаетесь понять, наобум придумывая такие примеры? Переменные должны разместиться в предназначенной для них памяти. Все.
--------------------
Уходя, оставьте свет...
|
|
|
|
Сообщений в этой теме
Метценгерштейн или глюк в 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 Метценгерштейн хорошо, простой пример:
есть некий
Кодvoid main... Jan 23 2011, 12:32 Dog Pawlowa Цитата(Метценгерштейн @ Jan 23 2011, 15:3... Jan 23 2011, 12:58 zltigo QUOTE (Метценгерштейн @ Jan 23 2011, 15:3... Jan 23 2011, 13:14 Метценгерштейн читаю, читаю...
пока не разобрался еще.
Если есть ... Jan 23 2011, 13:07 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
|
|
|