ARM Macro Assembler Page 1 1 00000000 PRESERVE8 2 00000000 THUMB 3 00000000 include DriverJeuLaser.inc 1 00000000 2 00000000 ; Bibliotheque DriverJeuLaser (ancienne gassp72 adaptée 2021 - TR) 3 00000000 ; Accès en aux fonctions suivantes : 4 00000000 ; GPIO : 5 00000000 ; GPIOA_Set(char Broche), GPIOB_Set(char Broche), GPIOC_ Set(char Broche) 6 00000000 ; GPIOA_Clear(char Broche), GPIOB_Clear(char Broche), GP IOC_Clear(char Broche) 7 00000000 8 00000000 ; PWM : 9 00000000 ;/** 10 00000000 ; * @brief Fixe une valeur de PWM, Val, en tick horloge . La rapport cyclique effectif 11 00000000 ; * est donc : rcy = Thaut_ticks / Periode_ticks 12 00000000 ; * @note spécifique Jeu Laser, PWM liée exclusivement au TIM3, chan3 13 00000000 ; * @param Thaut_ticks : durée de l'état haut d'une imp ulsion en Ticks 14 00000000 ; * @retval None 15 00000000 ; */ 16 00000000 17 00000000 ;void PWM_Set_Value_TIM3_Ch3( unsigned short int Thaut_t icks); 18 00000000 import PWM_Set_Value_TIM3_Ch3 19 00000000 20 00000000 21 00000000 22 00000000 ;/** 23 00000000 ; * @brief Mise à 1 d'une broche GPIO 24 00000000 ; * @note Une fonction par GPIO 25 00000000 ; * @param Broche : 0 à 15 26 00000000 ; * @retval None 27 00000000 ; */ 28 00000000 29 00000000 ;void GPIOA_Set(char Broche); 30 00000000 import GPIOA_Set 31 00000000 32 00000000 ;void GPIOB_Set(char Broche); 33 00000000 import GPIOB_Set 34 00000000 35 00000000 ;void GPIOC_Set(char Broche); 36 00000000 import GPIOC_Set 37 00000000 38 00000000 39 00000000 40 00000000 ;/** 41 00000000 ; * @brief Mise à 0 d'une broche GPIO 42 00000000 ; * @note Une fonction par GPIO 43 00000000 ; * @param Broche : 0 à 15 44 00000000 ; * @retval None 45 00000000 ; */ 46 00000000 47 00000000 ;void GPIOA_Clear(char Broche); 48 00000000 import GPIOA_Clear 49 00000000 ARM Macro Assembler Page 2 50 00000000 ;void GPIOB_Clear(char Broche); 51 00000000 import GPIOB_Clear 52 00000000 53 00000000 ;void GPIOC_Clear(char Broche); 54 00000000 import GPIOC_Clear 55 00000000 56 00000000 end 4 00000000 5 00000000 export timer_callback 6 00000000 7 00000000 ; ====================== zone de réservation de données, ====================================== 8 00000000 ;Section RAM (read only) : 9 00000000 area mesdata,data,readonly 10 00000000 11 00000000 12 00000000 ;Section RAM (read write): 13 00000000 area maram,data,readwrite 14 00000000 ;char FlagCligno; 15 00000000 00 FlagCligno dcb 0 ; reserve seulement un octet de memoir e 16 00000001 17 00000001 18 00000001 ; ====================================================== ========================================= 19 00000001 20 00000001 21 00000001 22 00000001 23 00000001 ;Section ROM code (read only) : 24 00000001 area moncode,code,readonly 25 00000000 ; écrire le code ici 26 00000000 27 00000000 ;void timer_callback(void) 28 00000000 ;{ 29 00000000 ; if (FlagCligno==1) 30 00000000 ; { 31 00000000 ; FlagCligno=0; 32 00000000 ; GPIOB_Set(1); 33 00000000 ; } 34 00000000 ; else 35 00000000 ; { 36 00000000 ; FlagCligno=1; 37 00000000 ; GPIOB_Clear(1); 38 00000000 ; } 39 00000000 ; 40 00000000 ;} 41 00000000 42 00000000 43 00000000 timer_callback proc 44 00000000 45 00000000 46 00000000 ;void timer_callback(void) 47 00000000 ;{ 48 00000000 B500 push {lr} 49 00000002 ARM Macro Assembler Page 3 50 00000002 ; if (FlagCligno==1) 51 00000002 4A0A ldr r2,=FlagCligno 52 00000004 EXPORT FlagCligno 53 00000004 7811 ldrb r1, [r2] 54 00000006 55 00000006 F04F 0001 mov r0, #1 56 0000000A 57 0000000A 2901 cmp r1, #1 58 0000000C D105 bne Sinon 59 0000000E ; { 60 0000000E ; FlagCligno=0; 61 0000000E F04F 0100 mov r1, #0 62 00000012 ; GPIOB_Set(1); 63 00000012 6011 str r1, [r2] 64 00000014 F7FF FFFE bl GPIOB_Set 65 00000018 ; } 66 00000018 E004 b fin 67 0000001A ; else 68 0000001A Sinon 69 0000001A ; { 70 0000001A ; FlagCligno=1; 71 0000001A F04F 0101 mov r1, #1 72 0000001E 6011 str r1, [r2] 73 00000020 ; GPIOB_Clear(1); 74 00000020 F7FF FFFE bl GPIOB_Clear 75 00000024 ; } 76 00000024 ; 77 00000024 fin 78 00000024 ;} 79 00000024 80 00000024 81 00000024 F85D EB04 pop {lr} ; pop {pc} remplace les 82 00000028 4770 bx lr ; deux lignes car o n met l' 83 0000002A ; ancienne valeur de lr dans pc 84 0000002A endp 85 0000002A 86 0000002A 87 0000002A 88 0000002A END 00 00 00000000 Command Line: --debug --xref --diag_suppress=9931 --cpu=Cortex-M3 --apcs=interw ork --depend=.\obj\cligno.d -o.\obj\cligno.o -I.\Driver -I.\RTE\_CibleSondeKEIL -IC:\Programdata\Keil\Arm\Packs\ARM\CMSIS\5.7.0\CMSIS\Core\Include -IC:\Progra mdata\Keil\Arm\Packs\Keil\STM32F1xx_DFP\2.3.0\Device\Include --predefine="__EVA L SETA 1" --predefine="__MICROLIB SETA 1" --predefine="__UVISION_VERSION SETA 5 34" --predefine="_RTE_ SETA 1" --predefine="STM32F10X_MD SETA 1" --predefine="_ RTE_ SETA 1" --list=cligno.lst Src\Cligno.s ARM Macro Assembler Page 1 Alphabetic symbol ordering Relocatable symbols mesdata 00000000 Symbol: mesdata Definitions At line 9 in file Src\Cligno.s Uses None Comment: mesdata unused 1 symbol ARM Macro Assembler Page 1 Alphabetic symbol ordering Relocatable symbols FlagCligno 00000000 Symbol: FlagCligno Definitions At line 15 in file Src\Cligno.s Uses At line 51 in file Src\Cligno.s At line 52 in file Src\Cligno.s maram 00000000 Symbol: maram Definitions At line 13 in file Src\Cligno.s Uses None Comment: maram unused 2 symbols ARM Macro Assembler Page 1 Alphabetic symbol ordering Relocatable symbols Sinon 0000001A Symbol: Sinon Definitions At line 68 in file Src\Cligno.s Uses At line 58 in file Src\Cligno.s Comment: Sinon used once fin 00000024 Symbol: fin Definitions At line 77 in file Src\Cligno.s Uses At line 66 in file Src\Cligno.s Comment: fin used once moncode 00000000 Symbol: moncode Definitions At line 24 in file Src\Cligno.s Uses None Comment: moncode unused timer_callback 00000000 Symbol: timer_callback Definitions At line 43 in file Src\Cligno.s Uses At line 5 in file Src\Cligno.s Comment: timer_callback used once 4 symbols ARM Macro Assembler Page 1 Alphabetic symbol ordering External symbols GPIOA_Clear 00000000 Symbol: GPIOA_Clear Definitions At line 48 in file .\Driver\DriverJeuLaser.inc Uses None Comment: GPIOA_Clear unused GPIOA_Set 00000000 Symbol: GPIOA_Set Definitions At line 30 in file .\Driver\DriverJeuLaser.inc Uses None Comment: GPIOA_Set unused GPIOB_Clear 00000000 Symbol: GPIOB_Clear Definitions At line 51 in file .\Driver\DriverJeuLaser.inc Uses At line 74 in file Src\Cligno.s Comment: GPIOB_Clear used once GPIOB_Set 00000000 Symbol: GPIOB_Set Definitions At line 33 in file .\Driver\DriverJeuLaser.inc Uses At line 64 in file Src\Cligno.s Comment: GPIOB_Set used once GPIOC_Clear 00000000 Symbol: GPIOC_Clear Definitions At line 54 in file .\Driver\DriverJeuLaser.inc Uses None Comment: GPIOC_Clear unused GPIOC_Set 00000000 Symbol: GPIOC_Set Definitions At line 36 in file .\Driver\DriverJeuLaser.inc Uses None Comment: GPIOC_Set unused PWM_Set_Value_TIM3_Ch3 00000000 Symbol: PWM_Set_Value_TIM3_Ch3 Definitions At line 18 in file .\Driver\DriverJeuLaser.inc Uses None Comment: PWM_Set_Value_TIM3_Ch3 unused 7 symbols 351 symbols in table