[an error occurred while processing this directive]
по AVR. Подскажите в следствии чего при выходе из подпрограммы возврат идёт на начало основной программы
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
Aleksey75
08 июля 2005 г. 09:25
Составить ответ
|||
Конференция
|||
Архив
Ответы
Ответ:
—
Vitalik
(08.07.2005 10:29
83.146.82.129
, 35 байт)
Непосредственно в МК или в симуляторе? может быть вызывается прерывание для которого нет перехода к обработчику.
—
Maxim_K
(08.07.2005 09:41
194.125.237.57
,
пустое
)
И в МК и в симуляторе...... инцилизация стека здесь----
—
Aleksey75
(08.07.2005 09:44
195.69.160.4
, 56 байт)
Нет конечно. В вашем чипе 512 байт ОЗУ.
—
Elektronik
(08.07.2005 10:13
194.85.99.225
,
пустое
)
Страннно, а раньше было 1 Кб
—
Maxim_K
(08.07.2005 10:23
194.125.237.57
, 96 байт)
Если SRAM <= 256 байт, то правильно, а если > , то надо загрузить SPH. Кстати (+):
—
argus98
(08.07.2005 10:01
81.22.205.230
, 223 байт)
не обманывайте... если (SRAM+регистры+порты)<=256 байт
—
prosto_Alex
(08.07.2005 15:52
195.5.33.126
,
пустое
)
мк atmega8
—
Aleksey75
(08.07.2005 10:06
195.69.160.4
,
пустое
)
мк atmega8
—
Aleksey75
(08.07.2005 10:05
195.69.160.4
,
пустое
)
Кстати идёт возврвт на следующую строку за иницилизацией стека
—
Aleksey75
(08.07.2005 09:46
195.69.160.4
,
пустое
)
А она какая по счету?
—
Maxim_K
(08.07.2005 09:50
194.125.237.57
,
пустое
)
здесь листинг начала программы
—
Aleksey75
(08.07.2005 09:58
195.69.160.4
, 444 байт)
Ответ:
—
Maxim_K
(08.07.2005 10:12
194.125.237.57
, 390 байт)
Блин. У тебя-же SP двухбайтовый, а ты настраиваешь младший байт и попадаешь на адрес 005F, а это SREG и затем SP !!!!
—
argus98
(08.07.2005 10:06
81.22.205.230
,
пустое
)
По матчасти все-таки пробелы.... :-((
—
argus98
(08.07.2005 10:08
81.22.205.230
,
пустое
)
Будем исправляться........ можно пример как правильно сделать..
—
Aleksey75
(08.07.2005 10:10
195.69.160.4
,
пустое
)
Ответ (+):
—
argus98
(08.07.2005 10:20
81.22.205.230
, 252 байт)
Дополнительно см. стр.45 в datasheet
—
argus98
(08.07.2005 10:48
81.22.205.230
,
пустое
)
Ну вы блина даете
—
Elektronik
(08.07.2005 10:16
194.85.99.225
, 205 байт)
Всем огромное спасибо!!!!!
—
Aleksey75
(08.07.2005 10:21
195.69.160.4
,
пустое
)
Будут деньги - высылайте !!! :-))
—
argus98
(08.07.2005 10:23
81.22.205.230
,
пустое
)
Указатель стека или память стека (+):
—
argus98
(08.07.2005 09:33
81.22.205.230
, 244 байт)
команда rcall сама сохраняет адрес в стеке?
—
Aleksey75
(08.07.2005 09:39
195.69.160.4
,
пустое
)
Только надо не забыть в начале программы указатель стека поставить в нужное место
—
Maxim_K
(08.07.2005 09:44
194.125.237.57
,
пустое
)
ДА. а ret(i) возвращает.
—
argus98
(08.07.2005 09:42
81.22.205.230
,
пустое
)
Ответ: стек покорёжило
—
Mebius
(08.07.2005 09:28
195.28.47.34
,
пустое
)
Это как вариант
—
Mebius
(08.07.2005 09:28
195.28.47.34
,
пустое
)
Отправка ответа
Имя (обязательно):
Пароль:
E-mail:
NoIX ключ
:
Запомнить
Тема (обязательно):
Сообщение:
Ссылка на URL:
Название ссылки:
URL изображения:
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru