ksv198
Jan 24 2006, 13:01
Вопрос, собственно, вот в чем: при симуляции тини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?
вопросы по симуляторам практически каждый день. ответ один - все они глюкавые. отлаживать прогу лучше и быстрее в кристалле адназначна.
Kovrov
Jan 24 2006, 16:09
Везет, помниться у меня в симуляторе и собака то нормально не пахала
(wdr непахало)
кстати об этом было упомянуто в руководстве
может в новых версиях сделано?
_artem_
Jan 24 2006, 16: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.pdfhttp://www.atmel.com/dyn/resources/prod_documents/AVR132.zipv etom primere attiny13 ispolzuetsya .
ksv198
Jan 25 2006, 13:00
Цитата(_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.pdfhttp://www.atmel.com/dyn/resources/prod_documents/AVR132.zipv etom primere attiny13 ispolzuetsya .
Спасибо, именно то , что нужно. Спасибо всем откликнувшимся. Сам выяснил, что в железе все работает нормально, а в симуляторе режим прерываний "ручной". Тоесть сторожевая собака вроде работает, но для симуляции прерывания нужно руками чекнуть бит WDTIF и тогда происходит вход в обработчик прерывания. В режиме системного сброса симулируется нормально, только временные периоды не соответсвуют даташиту. AVRStudio 4.11 SP3