forked from acco/chti23
54 lines
No EOL
1.2 KiB
ArmAsm
54 lines
No EOL
1.2 KiB
ArmAsm
PRESERVE8
|
|
THUMB
|
|
include DriverJeuLaser.inc
|
|
|
|
|
|
; ====================== zone de réservation de données, ======================================
|
|
;Section RAM (read only) :
|
|
area mesdata,data,readonly
|
|
|
|
|
|
;Section RAM (read write):
|
|
area maram,data,readwrite
|
|
|
|
FlagCligno dcd 0
|
|
EXPORT FlagCligno
|
|
; ===============================================================================================
|
|
|
|
;Exportation de la fonction timer_callback()
|
|
EXPORT timer_callback
|
|
|
|
|
|
|
|
;Section ROM code (read only) :
|
|
area moncode,code,readonly
|
|
; écrire le code ici
|
|
|
|
timer_callback proc
|
|
|
|
push{lr}
|
|
ldr r1, =FlagCligno ; on affecte à r1 l'adresse de FlagCligno (r1 = pointeur sur FlagCligno)
|
|
ldr r2, [r1] ; on affecte à r2 la valeur contenu dans r1
|
|
|
|
SI
|
|
cmp r2, #0 ; si Flag = 0
|
|
bne SINON
|
|
|
|
ALORS ; on passe Flag à 1 + on allume B1
|
|
mov r2, #1
|
|
mov r0, #1 ; sert juste à passer 1 en argument à GPIOB_Set
|
|
bl GPIOB_Set
|
|
b FINSI
|
|
|
|
SINON ; sinon on passe Flag à 0 + on éteint B1
|
|
mov r2, #0
|
|
mov r0, #1 ; sert juste à passer 1 en argument à GPIOB_Set
|
|
bl GPIOB_Clear
|
|
FINSI
|
|
ldr r1, =FlagCligno
|
|
str r2, [r1] ; on stocke la nouvelle valeur de r2 dans r1 (on met à jour FlagCligno)
|
|
|
|
pop {PC}
|
|
endp
|
|
|
|
END
|