|
Meag128 ресетится после выхода из обработчика прерывания, Meag128 ресетится после выхода из обработчика прерывания |
|
|
|
Nov 1 2007, 05:18
|
Группа: Новичок
Сообщений: 8
Регистрация: 23-10-06
Пользователь №: 21 570

|
Помогите, пожалуйста. Используется WinAVR, при выходе из обработчика прерывания mega128 перезагружается (ресетится).
|
|
|
|
|
 |
Ответов
|
Nov 1 2007, 06:14
|
Группа: Новичок
Сообщений: 8
Регистрация: 23-10-06
Пользователь №: 21 570

|
Используется язык С, Watchdog не используется (изначально Watchdog отключен, если ошибаюсь, сообщите). Как изменить размер стека в WinAVR 20060421?
|
|
|
|
|
Nov 1 2007, 07:36
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Цитата(alexander55 @ Nov 1 2007, 08:50)  С WinAVR никогда не работал, но не поверю в то, что размер стека нельзя никак изменить. Не верю (Станиславский). У avr-gcc стек один, а не два, как у IAR, указатель сразу устанавливается на верхушку памяти данного контроллера, все переменные заполняют память снизу - итого после сборки проекта стек автоматически получается максимально возможного для данной программы размера. p.s. а вообще, насколько я понимаю, ты в этом посте не того человека выбрал для того, чтобы по avr-gcc "не работать и не верить" :-)Нет, ну если совсем строго, то, переопределив символ __stack (ключ линкеру --defsym __stack=значение), можно изменить начальное положение указателя стека, но увеличить таким образом стек можно только при наличии внешней памяти, так как по умолчанию стек ставится во внутреннюю. При наличии только накристальной памяти стек так можно только уменьшить. Т.е. в подавляющем большинстве случаев работы с AVR совет увеличить стек не имеет смысла. Solo_M, а есть уверенность, что выход на 0 происходит именно при выходе и именно из этого прерывания? Нет ли каких-то включенных прерываний с неназначенным обработчиком? Или забыл обработчик назначить, или с именем ошибся - тогда подлинкуется переход на __bad_interrupt из которого делается JUMP 0 Переопредели ловушку неназначенных прерываний: Код ISR(__bad_interrupt) { for(;;) PORTB ^= 0x01; // или на какую-то другую незанятую ногу } и посмотри.
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Nov 1 2007, 11:24
|
Группа: Новичок
Сообщений: 8
Регистрация: 23-10-06
Пользователь №: 21 570

|
Цитата(mse @ Nov 1 2007, 12:12)  Ну прально. Он в м103C, стек у него с 0x1060. А ГЦЦ ставит как для м128 с 0x1100... Огромное вам спасибо!!! Убрал M103C и все заработало нормально. Цитата(=AVR= @ Nov 1 2007, 11:53)  Фуз M103C нужно сразу убрать в "1" как кошмарный сон. Убедись в том, что WD действительно отключен, настрой BOD, позаботься о правильном питании, удостоверься в том, что при выходе из ISR у тебя внешним образом никто не просаживает питание - и твои волосы станут мягкими и шелковистыми Премного благодарен!!! Проблема была в M103C, в остальном - все ОК. Убрал M103C и все заработало нормально. Кстати, в PROTEUS'е работало без проблем.
|
|
|
|
Сообщений в этой теме
Solo_M Meag128 ресетится после выхода из обработчика прерывания Nov 1 2007, 05:18 adc да уж... хороший вопрос... :-(
Раскажите поподробн... Nov 1 2007, 05:50  Solo_M Используется внешнее прерывание INT0, обработчик
I... Nov 1 2007, 06:23   aesok Цитата(Solo_M @ Nov 1 2007, 10:23) Исполь... Nov 1 2007, 06:25    Solo_M Уровень оптимизации - s
Состояние фюза M103C? - Н... Nov 1 2007, 08:45 =AVR= Фуз M103C нужно сразу убрать в "1" как к... Nov 1 2007, 08:53 Andrey_3 У меня такое было когда установил маску прерваний,... Nov 1 2007, 10:52 =AVR= Уж больно многое этот М103С кастрирует - нуивона..... Nov 1 2007, 22:13 mse Цитата(=AVR= @ Nov 2 2007, 01:13) Уж боль... Nov 2 2007, 05:38 alexander55 Цитата(=AVR= @ Nov 2 2007, 01:13) Уж боль... Nov 2 2007, 06:15 =AVR= Это и так всем понятно. Но есть и другое соображен... Nov 2 2007, 10:02 GDI Новички пусть начинают с мега8 Nov 2 2007, 10:35 Kuzmi4 2GDI
Ага - которая тоже вскорости сменится на 88-... Nov 2 2007, 12:43 mse Цитата(Kuzmi4 @ Nov 2 2007, 15:43) 2GDI
... Nov 2 2007, 13:21 GDI Тоже самое можно сказать и про 128-ю, что сменится... Nov 2 2007, 13:20
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0
|
|
|