Здравствуйте! Меня зовут Максим. Всеръез занимаюсь программированием. Может есть кто специалисты. Подскажите пожалуйста. Я пишу программу в AVR Studio на ассемблере. Программирую AtMega32. Так вот не могу понять почему при отладке программы - в дебаг режиме происходит сброс программы на метку RESET через определенные промежутки времени (262,14ms)? МОЖЕТ КТО ВСТРЕЧАЛ ТАКУЮ ПРОБЛЕМУ?
P.S. Причем команда WDR расставлена по листингу самой программы через каждые два шага, Со стеком программа работает корректно. Мной ошибки не выявлены. Если кто заинтересовался прикрепляю листинг своей программы (хотя , конечно не все поймут ее содержимое, просто на всякий случай). (Содержимое из файла копируется в созданный в AVR Studio 4.16 проект на AtMega32 8.00 мегагерц. Втыкаете листинг в проект и можно переходить в режим отладки).
Никогда ранее не сталкивался с проблемами непроизвольного сброса отладчика в AVR Studio 4.16. И не могу понять по какому событию в WatchDoge происходит сброс выполнения програмы. Инициализирую WatchDog в программе так:
Код
wdr
ldi r16, 15 ; Или 0b00001111 в двоичном виде "Сброс через около 2 сек"
out WDTCR, r16
wdr
и все через 262,14ms выполнения программы я снова на метке RESET. Если сбрасываю WDE то программа выполняется без проблем строго следуя операторам вызова подпрограмм и возврата из них. НО С НЕИНИЦИАЛИЗИРОВАННЫМ WATCHDOGOM Что не приемлемо для меня по условию задачи.
Причина редактирования: Оформление кода