PRESERVE8 THUMB include DriverJeuLaser.inc ; ====================== zone de réservation de données, ====================================== ;Section RAM (read only) : area mesdata,data,readonly ;Section RAM (read write): area maram,data,readwrite FlagCligno dcd 0 EXPORT FlagCligno ; =============================================================================================== ;Exportation de la fonction timer_callback() EXPORT timer_callback ;Section ROM code (read only) : area moncode,code,readonly ; écrire le code ici timer_callback proc push{lr} ldr r1, =FlagCligno ; on affecte à r1 l'adresse de FlagCligno (r1 = pointeur sur FlagCligno) ldr r2, [r1] ; on affecte à r2 la valeur contenu dans r1 SI cmp r2, #0 ; si Flag = 0 bne SINON ALORS ; on passe Flag à 1 + on allume B1 mov r2, #1 mov r0, #1 ; sert juste à passer 1 en argument à GPIOB_Set bl GPIOB_Set b FINSI SINON ; sinon on passe Flag à 0 + on éteint B1 mov r2, #0 mov r0, #1 ; sert juste à passer 1 en argument à GPIOB_Set bl GPIOB_Clear FINSI ldr r1, =FlagCligno str r2, [r1] ; on stocke la nouvelle valeur de r2 dans r1 (on met à jour FlagCligno) pop {PC} endp END