[an error occurred while processing this directive]
А можно чуток подробнее? PCLATCH сохраняет процессор или это делается программно в начале процедуры обработки прерывания?
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
Отправлено
Алексей ВМ
18 декабря 2002 г. 13:17
В ответ на:
Он сам. Напиши только что-нибудь типа static void interrupt Isr ( void ){}, и все.
отправлено John 18 декабря 2002 г. 12:37
Составить ответ
|||
Конференция
|||
Архив
Ответы
сpu сохраняет только PC....PCLATH не сохранятеся и не апдейтится после RETFIE
—
Romario
(18.12.2002 13:33, 52 байт)
ps: достаточно посмотреть в листинг и все станет ясно (-)
—
Romario
(18.12.2002 13:35,
пустое
)
Смотрел я в листинг... В начале isr там в самом деле ничего не сохраняется, а в конце что-то восстанавливается. Но вопрос - что восстанавливается, если в пооцедуре ничего не сохранялось? :(
—
Алексей ВМ
(18.12.2002 13:47,
пустое
)
что-то восстанавливается это в смысле PCLATH?
—
Romario
(18.12.2002 13:50, 172 байт)
Нет.(+)
—
Алексей ВМ
(18.12.2002 14:03, 319 байт)
:)
—
Romario
(18.12.2002 14:18, 239 байт)
Слушай, но ведь программа работает? Значит, компилятор все делает как надо. Зачем тебе лишняя информация? Многие знания - многие печали...
—
John
(18.12.2002 14:08,
пустое
)
Глючит она. Как только происходит обращение из main (bank0) к другим функциям, расположенным в других банках - тут и начинаются глюки. Такое впечатление, что прога вылетает не в то место, откуда она вызывалась. Сижу теперь в отладчике, фигней страдаю.
—
Алексей ВМ
(18.12.2002 14:16,
пустое
)
Ответ: А сколько вложений? Может стек переполняется если при выполнении функции с большим вложением происходит вызов прерывания.
—
VAI
(18.12.2002 17:36,
пустое
)
Не больше шести.
—
Алексей ВМ
(18.12.2002 17:45,
пустое
)
Ответ: а из прерывания функции вызываешь?
—
VAI
(18.12.2002 20:09,
пустое
)
Нет.
—
Алексей ВМ
(19.12.2002 08:27,
пустое
)
Ответ:
—
John
(18.12.2002 14:31, 620 байт)
Дело не в ОЗУ - проверил.
—
Алексей ВМ
(18.12.2002 14:43,
пустое
)
Я уже лет 8 на асме не писал. Я знаю только, что вот этого бывает достаточно, и все работает программах в 50.
—
John
(18.12.2002 13:27,
пустое
)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
|||
Без кадра
E-mail:
info@telesys.ru