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 export start_son start_son proc ldr r0, =Index mov r1, #0 str r1, [r0] bx lr endp END