STM8S103 >> Assembly
Timer1
參考資訊:
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 TIM1_PSCRH, 0x5260 .equ TIM1_PSCRL, 0x5261 .equ TIM1_ARRH, 0x5262 .equ TIM1_ARRL, 0x5263 .equ TIM1_CR1, 0x5250 .equ TIM1_IER, 0x5254 .equ TIM1_SR1, 0x5255 .equ TIM1_CNTRH, 0x525e .equ TIM1_CNTRL, 0x525f .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 timer1_handler .area cseg main: mov PB_DDR, #0x20 mov PB_CR1, #0x20 mov TIM1_PSCRH, #0x00 mov TIM1_PSCRL, #0x00 mov TIM1_ARRH, #0xff mov TIM1_ARRL, #0xff mov TIM1_CNTRH, #0x00 mov TIM1_CNTRL, #0x00 mov TIM1_IER, #0x01 mov TIM1_SR1, #0x01 mov TIM1_CR1, #0x91 rim loop: jp loop timer1_handler: mov TIM1_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
完成