; ce programme est pour l'assembleur RealView (Keil) thumb area moncode, code, readonly export timer_callback extern etat ; E_POS equ 0 E_TAI equ 4 E_SON equ 8 E_RES equ 12 E_PER equ 16 TIM3_CCR3 equ 0x4000043C ; adresse registre PWM timer_callback proc push{r4} ldr r1, =etat ldr r2, [r1, #E_POS] ldr r3, [r1,#E_TAI] cmp r2, r3 beq silence bne son son ldr r4, [r1, #E_RES] ldr r3, [r1, #E_SON] ldrsh r3, [r3, r2,lsl #1] add r3, r3, lsl #16 mul r3, r3, r4 lsr r3, #16 ;add r3, r3, r4 ;lsl r3, #1 ldr r4, =TIM3_CCR3 str r3, [r4] add r2,#1 str r2,[r1, #E_POS] silence pop{r4} bx lr endp end