AT90S2313 & Stack - есть ли ограничения на количество вложенных процедур?
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
olga
24 января 2003 г. 11:35
Составить ответ
|||
Конференция
|||
Архив
Ответы
Не забыть бы еще тот факт, что в Сях аргументы передаются именно через стек.Может тут собака порылась?
—
sos
(24.01.2003 14:00,
пустое
)
Ответ: пишу на ASM, (но надо не забыть совет при переходе на Си)
—
olga
(24.01.2003 15:24,
пустое
)
Вообще-то стек данных для функций на Сях и аппаратный для подпрограмм имеют общее только в названии
—
ShiphT
(24.01.2003 15:03,
пустое
)
Когда я пишу на IAR-ском компиляторе для AVR-ов, то (+)
—
Беня
(24.01.2003 13:57, 1454 байт)
Ответ: Чтобы все окончательно разъяснилось, посмотри в отладчике, что происходит со стеком при вызове процедур, входе в прерывания, как при этом меняется SP - вопросы отпадут сами собой.
—
...
(24.01.2003 12:55,
пустое
)
Ответ: ок
—
olga
(24.01.2003 15:38,
пустое
)
Оленька, читайте внимательнее документацию...а АВР стек располагается сверху вниз..как правило, начало стека устанавливают в конце ОЗУ...для 2313 - это 0xDF...таким образом, если в вашей программе ОЗУ вообще не будет использоваться, глубина стека будет равна (0xDF-0x60)
—
lmu
(24.01.2003 12:26,
пустое
)
Ответ: Для исполизования ОЗУ надо следить за стеком?
—
olga
(24.01.2003 12:41,
пустое
)
Конечно.
—
-=Shura=-
(24.01.2003 12:48,
пустое
)
Шура, щас девушка после каждой директивы будет стек проверять...вы потом всю жысть себя корить будете..такой грех на душу.....;)))
—
lmu
(24.01.2003 13:11,
пустое
)
А кому сейчас легко? У самого бывало, что стек на ОЗУ налазил и портил данные и хрен разберёшься, что там начинает происходить.
—
-=Shura=-
(24.01.2003 13:13,
пустое
)
А щас девушка подумает, что стек вообще не в ОЗУ :-)
—
CTAC
(24.01.2003 13:38,
пустое
)
Пацаны, не считайте других дурнее себя. Вопрос не такой сложный, захочет - разберётся.
—
-=Shura=-
(24.01.2003 13:47,
пустое
)
Ответ: Мерси Всем за советы и шутки
—
olga
(24.01.2003 15:42,
пустое
)
После такова заявления вы просто обязанны наней женица;))))))))))))
—
kolian
(24.01.2003 15:30,
пустое
)
Харашо шта ни на тибе! :-Р
—
-=Shura=-
(24.01.2003 15:32,
пустое
)
Ответ: Да никто не считает, это они прикалываются.
—
...
(24.01.2003 13:54,
пустое
)
есть; это - объём оперативной памяти
—
Пионер
(24.01.2003 11:43,
пустое
)
что вы имеете ввиду? ОЗУ состоит из 32 регистров.
—
olga
(24.01.2003 11:54,
пустое
)
Это у 1200, у 2313 есть 128 оперативки. Метров
—
DASM
(24.01.2003 11:57,
пустое
)
+128 байт
—
Пионер
(24.01.2003 11:57,
пустое
)
Точно. с 0х96 по 0хDF. Эту область занимает стек? или её можно оиспользовать?
—
olga
(24.01.2003 12:12,
пустое
)
Откуда взялось 0x96? RAM занимает адреса с 0x60 по 0xDF. А стек занимает столько, сколько ему нужно. Остальную память
—
Леонид Иванович
(24.01.2003 12:19, 287 байт)
sorry 0x60 = 96 (Dec)
—
olga
(24.01.2003 12:38,
пустое
)
плюс место на вхождение во все прерывания
—
mse
(24.01.2003 12:25,
пустое
)
вот он, доброкачественный пятничный флейм ;)
—
Пионер
(24.01.2003 12:31,
пустое
)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru