Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: AVRStudio симулятор +ATtiny13 +WDT
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
ksv198
Вопрос, собственно, вот в чем: при симуляции тини13 в AVRStudio симуляторе режим сброса по WDT работает нормально, сбрасывает. А вот режим прерывания не пойму - то ли не симулируется, то ли я не правильно инициализирую WDT. Вот собственно код:
cli
wdr
in temp,MCUSR
andi temp, (0xff & (0<<WDRF)) ;должен быть сброшен до WDE
out MCUSR,temp
ldi temp,(1<<WDCE) | (1<<WDE) ;Start timed sequence
out WDTCR,temp
ldi temp, (0<<WDE) | (1<<WDTIE) ;конфигурация в режим прерываний с минимальным периодом переполнения
out WDTCR,temp

В таком виде при симуляции генерации прерывания не присходит, флаг WDTIF не устанавливается даже по прошествии 20 секунд (хотя должен через 16 мс установиться). Если ручками во время симуляции установить этот флаг, то переход на вектор прерывания WDT происходит.
А в таком сброс от WDT нормально симулируется:
cli
wdr
in temp,MCUSR
andi temp, (0xff & (0<<WDRF)) ;должен быть сброшен до WDE
out MCUSR,temp
ldi temp,(1<<WDCE) | (1<<WDE) ;Start timed sequence
out WDTCR,temp
ldi temp, (1<<WDE) | (0<<WDTIE) ;конфигурация в режим сброса с минимальным периодом переполнения
out WDTCR,temp

Подскажите, может быть неправильно конфигурю WDT?
m16
вопросы по симуляторам практически каждый день. ответ один - все они глюкавые. отлаживать прогу лучше и быстрее в кристалле адназначна.
Kovrov
Везет, помниться у меня в симуляторе и собака то нормально не пахала
(wdr непахало)
кстати об этом было упомянуто в руководстве
может в новых версиях сделано?
_artem_
watchdog v datashite ochen krivo napisan . Posmotri primer otsyuda i tebe srazu vse ponyatno stanet - tam realizaciya timera na watchdoge . Vo vsyakom sluchae mne pomoglo ) :

http://www.atmel.com/dyn/resources/prod_do...nts/doc2551.pdf
http://www.atmel.com/dyn/resources/prod_documents/AVR132.zip

v etom primere attiny13 ispolzuetsya .
ksv198
Цитата(_artem_ @ Jan 24 2006, 19:19) *
watchdog v datashite ochen krivo napisan . Posmotri primer otsyuda i tebe srazu vse ponyatno stanet - tam realizaciya timera na watchdoge . Vo vsyakom sluchae mne pomoglo ) :

http://www.atmel.com/dyn/resources/prod_do...nts/doc2551.pdf
http://www.atmel.com/dyn/resources/prod_documents/AVR132.zip

v etom primere attiny13 ispolzuetsya .

Спасибо, именно то , что нужно. Спасибо всем откликнувшимся. Сам выяснил, что в железе все работает нормально, а в симуляторе режим прерываний "ручной". Тоесть сторожевая собака вроде работает, но для симуляции прерывания нужно руками чекнуть бит WDTIF и тогда происходит вход в обработчик прерывания. В режиме системного сброса симулируется нормально, только временные периоды не соответсвуют даташиту. AVRStudio 4.11 SP3
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.