forked from acco/chti23
58 lines
No EOL
1.1 KiB
ArmAsm
58 lines
No EOL
1.1 KiB
ArmAsm
PRESERVE8
|
|
THUMB
|
|
|
|
|
|
; ====================== 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
|
|
|
|
; ===============================================================================================
|
|
INCLUDE DriverJeuLaser.inc
|
|
|
|
EXPORT FlagCligno
|
|
EXPORT timer_callback
|
|
|
|
;Section ROM code (read only) :
|
|
area moncode,code,readonly
|
|
|
|
;void timer_callback(void)
|
|
;{
|
|
; if (FlagCligno==1)
|
|
; {
|
|
; FlagCligno=0;
|
|
; GPIOB_Set(1);
|
|
; }
|
|
; else
|
|
; {
|
|
; FlagCligno=1;
|
|
; GPIOB_Clear(1);
|
|
; }
|
|
;}
|
|
|
|
timer_callback proc
|
|
push {lr}
|
|
mov r0,#1 ; Argument pour les fonction GPIOB
|
|
ldr r4,=FlagCligno ; Ecriture de l'adresse de FlagCligno dans R4
|
|
ldrb r5,[r4] ; Ecriture de la valeur de FlagCligno dans R5
|
|
cmp r5,#1
|
|
bne ClignoUp
|
|
; if (FlagCligno == 1)
|
|
bl GPIOB_Set
|
|
mov r5,#0
|
|
b TimerCallbackEnd
|
|
ClignoUp
|
|
; else if (FlagCligno == 0)
|
|
bl GPIOB_Clear
|
|
mov r5,#1
|
|
TimerCallbackEnd
|
|
strb r5,[r4] ; FlagCligno = R5
|
|
pop {pc}
|
|
endp
|
|
|
|
END
|