grpE_ROUSSEAU_NORGEUX/soft/PjtKEIL_StepSon/Src/GestionSon.s

74 lines
No EOL
1 KiB
ArmAsm

import PWM_Set_Value_TIM3_Ch3
PRESERVE8
THUMB
import Son
import LongueurSon
import PeriodeSonMicroSec
; ====================== zone de réservation de données, ======================================
;Section RAM (read only) :
area mesdata,data,readonly
;Section RAM (read write):
area maram,data,readwrite
SortieSon dcd 0
Index dcw 0
export SortieSon
; ===============================================================================================
;Section ROM code (read only) :
area moncode,code,readonly
; écrire le code ici
export timer_callback_son
timer_callback_son proc
push {lr,r4}
ldr r4, =Index ; r4 = &Index
ldr r0, [r4] ; r0 = *r4
ldr r1, =LongueurSon
ldr r2, [r1]
cmp r0, r2
beq fin
ldr r2,=Son
ldrsh r1, [r2,r0, lsl #1]
add r1, #32768 ; (1<<16)
mov r2, #720
mul r1, r2
asr r1, #16
mov r3, r0
add r3, #1
str r3, [r4]
ldr r3,=SortieSon
mov r0, r1
bl PWM_Set_Value_TIM3_Ch3
str r0, [r3] ;Mise à jour sortie son pas PWM
fin
pop {lr,r4}
bx lr
endp
END