38 lines
612 B
ArmAsm
38 lines
612 B
ArmAsm
; ce programme est pour l'assembleur RealView (Keil)
|
|
thumb
|
|
area madata, data, readwrite
|
|
export echelon
|
|
echelon dcd 0
|
|
|
|
area moncode, code, readonly
|
|
export timer_callback
|
|
|
|
timer_callback proc
|
|
|
|
GPIOB_BSRR equ 0x40010C10 ; Bit Set/Reset register
|
|
|
|
ldr r2, =echelon
|
|
ldr r0,[r2]
|
|
CBZ r0, misea1
|
|
|
|
|
|
; mise a zero de PB1
|
|
ldr r3, =GPIOB_BSRR
|
|
mov r1, #0x00020000
|
|
str r1, [r3]
|
|
add r0, #-1
|
|
str r0,[r2]
|
|
B finn
|
|
|
|
; mise a 1 de PB1
|
|
misea1 ldr r3, =GPIOB_BSRR
|
|
mov r1, #0x00000002
|
|
str r1, [r3]
|
|
add r0, #1
|
|
str r0,[r2]
|
|
; N.B. le registre BSRR est write-only, on ne peut pas le relire
|
|
|
|
finn bx lr;
|
|
endp
|
|
;
|
|
end
|