|
用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·ÖƵϵÊý£¬´ó¸Å65ms
out wdtcr, r16 ;watch dog ¿ª¹ØʹÄÜ
ldi r16, $0a
out wdtcr, r16
loop:
; wdr
nop
nop
nop
nop
rjmp loop |
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|