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 dcb 0 export FlagCligno export timer_callback ; =============================================================================================== ; char FlagCligno; ;void timer_callback(void) ;{ ; if (FlagCligno==1) ; { ; FlagCligno=0; ; GPIOB_Set(1); ; } ; else ; { ; FlagCligno=1; ; GPIOB_Clear(1); ; } ; ;} ;Section ROM code (read only) : area moncode,code,readonly ; écrire le code ici include DriverJeuLaser.inc ; r0 : l'adress de FlagCligno ; r1 : ; r2 : valeur du flag timer_callback proc push {lr} ldr r0,=FlagCligno ; mets l'adresse de FlagCligno dans r0 ldr r2, [r0] ; mets dans r2 la valeur du flag cbz r2, alors ; FlagCligno = 0 => Mise a 1 cbnz r2, sinon ; FlagCligno = 1 => Mise a 0 alors ; mets FlagCligno a 1 mov r2, #0x1 str r2, [r0] ; GPIOB_Clear(1) mov r1, #1 bl GPIOB_Clear sinon ; mets FlagCligno a 0 mov r2, #0x0 str r2, [r0] ; GPIOB_Set(1)= mov r1, #1 bl GPIOB_Set pop {pc} endp END