📄 ot_valueset.s
字号:
IMPORT osTimerPreDelay
IMPORT osTimer_OSMR0
IMPORT osTimer_OSMR1
IMPORT osTimer_OSMR2
IMPORT osTimer_OSMR3
IMPORT osTimer_OSCR
IMPORT osTimer_OIER
IMPORT osTimer_OSSR
EXPORT ot_intervalSet
AREA ot_intervalSet ,CODE ,READONLY
stmfd r13!,{r4,r5,r10,r14}
cmp r0,#0x1
beq intervalSetOT0Branch
cmp r0,#0x2
beq intervalSetOT1Branch
cmp r0,#0x4
beq intervalSetOT2Branch
cmp r0,#0x8
beq intervalSetOT3Branch
cmp r0,#0xff
beq intervalClear
b intervalSetInvalid
intervalSetOT0Branch
ldr r11,=osTimer_OSMR0
b intervalSetBranch
intervalSetOT1Branch
ldr r11,=osTimer_OSMR1
b intervalSetBranch
intervalSetOT2Branch
ldr r11,=osTimer_OSMR2
b intervalSetBranch
intervalSetOT3Branch
ldr r11,=osTimer_OSMR3
b intervalSetBranch
intervalSetBranch
ldr r4,=osTimerPreDelay
ldr r10,=osTimer_OSCR
ldr r5,[r10]
add r4,r4,r5
str r4,[r11]
ldr r11,=osTimer_OIER
ldr r4,[r11]
orr r4,r0,r4
str r4,[r11]
mov r0,#0x0
b intervalSetEnd
;///////////
intervalClear
ldr r11,=osTimer_OIER
mov r4,#0x0
str r4,[r11]
ldr r11,=osTimer_OSSR
ldr r4,[r11]
str r4,[r11]
b intervalSetEnd
;///////////
intervalSetInvalid
nop
;//////////
intervalSetEnd
ldmfd r13!,{r4,r5,r10,pc}
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -