55 行
EOLなし
1 KiB
ArmAsm
55 行
EOLなし
1 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
|
|
; ===============================================================================================
|
|
|
|
|
|
|
|
|
|
;Section ROM code (read only) :
|
|
area moncode,code,readonly
|
|
; écrire le code ici
|
|
|
|
timer_callback proc
|
|
|
|
ldr r0, =FlagCligno ; on affecte à r0 l'adresse de FlagCligno
|
|
ldr r1, [r0] ; on affecte à r1 la valeur contenu dans r0 (pointeur)
|
|
push{r0}
|
|
push{lr}
|
|
|
|
SI
|
|
cmp r1, #0 ; si r1 = 0
|
|
bne SINON
|
|
|
|
ALORS ; on passe r1 à 0 + on allume B1
|
|
mov r1, #0
|
|
mov r2, #1
|
|
bl GPIOB_Set
|
|
bl FINSI
|
|
|
|
SINON ; sinon on passe r1 à 1 + on éteint B1
|
|
mov r1, #1
|
|
mov r2, #1
|
|
bl GPIOB_Clear
|
|
FINSI
|
|
str r1, [r0] ; on stocke la nouvelle valeur de r1 dans r0 (on met à jour FlagCligno)
|
|
pop {PC}
|
|
endp
|
|
|
|
|
|
|
|
|
|
|
|
END
|