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 r1,=FlagCligno ; mets l'adresse de FlagCligno dans r1 ldr r0, [r1] ; mets dans r0 la valeur du FlagCligno cmp r0, #0 beq flag_nul ; if (Flagcligno == 1) ; { mov r0, #0 str r0, [r1] mov r0, #1 bl GPIOB_Set pop {pc} ; FlagCligno=0; ; GPIOB_Set(1); ; } ; else flag_nul ; { mov r0, #1 str r0, [r1] bl GPIOB_Clear pop {pc} ; FlagCligno=1; ; GPIOB_Clear(1); ; } ; ;} endp END