STM8S103 >> Assembly
Timer2
參考資訊:
1. stm8s-timer-basic-interrupt-timing
暫存器
main.s
.equ PB_ODR, 0x5005 .equ PB_IDR, 0x5006 .equ PB_DDR, 0x5007 .equ PB_CR1, 0x5008 .equ PB_CR2, 0x5009 .equ TIM2_CR1, 0x5300 .equ TIM2_IER, 0x5303 .equ TIM2_SR1, 0x5304 .equ TIM2_PSCR, 0x530e .equ TIM2_ARRH, 0x530f .equ TIM2_ARRL, 0x5310 .equ TIM2_CNTRH, 0x530c .equ TIM2_CNTRL, 0x530d .area data .area sseg .area home int main int 0 int 0 int 0 int 0 int 0 int 0 int 0 int 0 int 0 int 0 int 0 int 0 int 0 int 0 int timer2_handler .area cseg main: mov PB_DDR, #0x20 mov PB_CR1, #0x20 mov TIM2_PSCR, #0x00 mov TIM2_ARRH, #0xff mov TIM2_ARRL, #0xff mov TIM2_CNTRH, #0x00 mov TIM2_CNTRL, #0x00 mov TIM2_IER, #0x01 mov TIM2_SR1, #0x01 mov TIM2_CR1, #0x81 rim loop: jp loop timer2_handler: mov TIM2_SR1, #0 bcpl PB_ODR, #5 iret
編譯、燒錄
$ 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
完成