nononono 发表于 2008-2-15 18:21:22

有人在avr studio的simulator上遇到watchdog不能正常工作的问题吗?

用avr studio里的simulator模拟m128,
如果全速运行, watchdog总是reset程序, 好像wdr指令不起作用.
如果单步执行(包括autosetp), watchdog总是不能reset程序, 既便没有wdr指令.

是不是avr studio的simulator有问题呀? 谢谢!

.NOLIST
.include "m128def.inc"

.LIST
.EQU LED0=0x01
.EQU LED1=0x02
.EQU STACKTOP=$45f
.DEF temp = r16

.ESEG                                        ;eeprom segment
dat_store0: .DB 0                ;ÔÚeepromÀïÔ¤ÁôÁË1¸ö×ֽڵĿռä
dat_store1: .BYTE 2                ;ÔÚeepromÀïÔ¤ÁôÁË2¸ö×ֽڵĿռä
dat_store2: .BYTE 0                ;Õâ¸öÓï¾ä²»»áÓÐÈκÎ×÷ÓÃ

.DSEG                                        ;data segment
dat:                .BYTE 1                ;±£ÁôÁË1¸ö×ֽڵĿռä
dat_buf:        .BYTE 16        ;±£ÁôÁË16¸ö×ֽڵĿռä
dat_buf1:        .BYTE 32        ;±£ÁôÁË32¸ö×ֽڵĿռä


.CSEG                                        ;code segment
.ORG 0
        jmp start

.ORG 0x200

start:

        in r16, mcucsr
        andi r16, 1<<wdrf
        breq a_1
        ;sbic r16, wdrf
        nop
        ldi r16, 0
        out mcucsr, r16

a_1:
        ldi r16, low(RAMEND)
        out spl, r16
        ldi r16, high(RAMEND)
        out sph, r16


        ;watch dog
        wdr
        ldi r16, $1a                ;64k·&Ouml;&AElig;&micro;&Iuml;&micro;&Ecirc;&yacute;&pound;&not;&acute;ó&cedil;&Aring;65ms
        out wdtcr, r16        ;watch dog &iquest;&ordf;&sup1;&Oslash;&Ecirc;&sup1;&Auml;&Uuml;
        ldi r16, $0a
        out wdtcr, r16

loop:       
;        wdr
        nop
        nop
        nop
        nop
        rjmp loop

hzn1948 发表于 2008-2-16 15:34:12

我用AVRSTUDIO调试程序,发现它对看门狗的模拟与实际情况不一样:
1,对有些芯片不模拟,例如ATTINY2313
2.不管你设定多长的延时,也不管你喂没喂狗,在16ms时程序复位,除非你不用看门狗
   这是我用m88时发现的

nononono 发表于 2008-2-18 09:07:55

hzn1948,谢谢你的答复,好像是和你说的情况一样,在模拟器里,只要使能了看门狗, 程序就总是被看门狗复位, wdr总是不起作用.

cjmren 发表于 2012-5-3 21:14:39

AVR studio4的帮助文件已说明,对看门狗不能进行仿真,但为何喂狗指令不起作用,令人不解?我用AVR studio4.19仿真时,也发现这个问题,哪怕是刚喂完狗,一到280ms左右,程序就复位。

lookdown 发表于 2012-6-4 09:08:37

学习中,谢谢提醒

fanice 发表于 2013-6-12 18:19:12

你们都很早啊,我也发现了,我用的也是4.19
页: [1]
查看完整版本: 有人在avr studio的simulator上遇到watchdog不能正常工作的问题吗?