STM8S103 >> Assembly

Window watchdog(WWDG)


暫存器


Reset觸發:
1. WWDG_CR <= 0x3f
2. 更新區間不在WWDG_WR ~ WWDG_CR

main.s

  .equ PB_ODR,  0x5005
  .equ PB_IDR,  0x5006
  .equ PB_DDR,  0x5007
  .equ PB_CR1,  0x5008
  .equ PB_CR2,  0x5009
  .equ WWDG_CR, 0x50d1
  .equ WWDG_WR, 0x50d2
     
  .area data
  .area sseg
  .area home
  int main
   
  .area cseg
main:
  mov PB_DDR, #0x20
  mov PB_CR1, #0x20

  mov WWDG_CR, #0xff
  mov WWDG_WR, #0x7f
loop:
  ld a, PB_ODR
  xor a, #0x20
  ld PB_ODR, a
  ldw x, #5000 
d0:
  decw x
  tnzw x
  jrne d0
  jp loop

編譯、燒錄

$ sdasstm8 -o main.s
$ sdldstm8 -ni -b home=0x8000 -b cseg=0x8080 -b data=0x0001 -b sseg=0xffff main.rel
$ sudo stm8flash -c stlinkv2 -p stm8s103f3 -u
$ sudo stm8flash -c stlinkv2 -p stm8s103f3 -s flash -w main.ihx

觀察LED的變化


返回上一頁