From 9f382b1d189cd2b2b02c14ae6b3d1e1a58f91304 Mon Sep 17 00:00:00 2001 From: Robin M Date: Mon, 20 Mar 2023 20:32:06 +0100 Subject: [PATCH] Fixed Pull Up / Down misleading behavior --- .vscode/settings.json | 4 +- drivers/Driver_ADC.c | 4 +- drivers/Driver_ADC.h | 7 +- drivers/Driver_GPIO.c | 27 +++-- drivers/Driver_GPIO.h | 2 +- drivers/Driver_Timer.c | 29 +++-- drivers/Driver_Timer.h | 2 +- projet_1/Listings/tp_sim.map | 155 ++++++++++++------------ projet_1/Objects/driver_adc.d | 9 ++ projet_1/Objects/driver_adc.o | Bin 0 -> 600 bytes projet_1/Objects/driver_gpio.d | 2 +- projet_1/Objects/driver_gpio.o | Bin 5428 -> 5468 bytes projet_1/Objects/driver_timer.d | 2 +- projet_1/Objects/driver_timer.o | Bin 5288 -> 5260 bytes projet_1/Objects/main.d | 5 +- projet_1/Objects/main.o | Bin 4964 -> 4564 bytes projet_1/Objects/startup_stm32f10x_md.o | Bin 5912 -> 5912 bytes projet_1/Objects/system_stm32f10x.d | 2 +- projet_1/Objects/tp_board.dep | 30 +++-- projet_1/Objects/tp_sim.axf | Bin 17904 -> 17960 bytes projet_1/Objects/tp_sim.build_log.htm | 17 +-- projet_1/Objects/tp_sim.dep | 30 +++-- projet_1/Objects/tp_sim.htm | 47 +++---- projet_1/Objects/tp_sim.lnp | 1 + projet_1/src/main.c | 37 ++++-- projet_1/tp.uvguix.robin | 31 +++-- projet_1/tp.uvoptx | 68 +++++++---- projet_1/tp.uvprojx | 20 +++ 28 files changed, 330 insertions(+), 201 deletions(-) create mode 100644 projet_1/Objects/driver_adc.d create mode 100644 projet_1/Objects/driver_adc.o diff --git a/.vscode/settings.json b/.vscode/settings.json index 4d3b8aa..f0eccf7 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,7 +1,9 @@ { "files.associations": { "stm32f10x.h": "c", - "driver_gpio.h": "c" + "driver_gpio.h": "c", + "atomic": "c", + "cstdint": "c" }, "C_Cpp.errorSquiggles": "disabled" } \ No newline at end of file diff --git a/drivers/Driver_ADC.c b/drivers/Driver_ADC.c index d5bbb79..a6747d7 100644 --- a/drivers/Driver_ADC.c +++ b/drivers/Driver_ADC.c @@ -1 +1,3 @@ -#include "Driver_Timer.h" \ No newline at end of file +#include "Driver_Timer.h" + +// Todo \ No newline at end of file diff --git a/drivers/Driver_ADC.h b/drivers/Driver_ADC.h index eb3a8d8..bfadbc4 100644 --- a/drivers/Driver_ADC.h +++ b/drivers/Driver_ADC.h @@ -3,7 +3,10 @@ #include "stm32f10x.h" -// Todo - +typedef struct { + ADC_TypeDef * ADC; // Pointeur vers la structure de regitre GPIO défini dans stm32f10x_gpio.h + char GPIO_Pin; //numero de 0 a 15 + char GPIO_Conf; // voir ci dessous +} MyADC_Struct_TypeDef; #endif \ No newline at end of file diff --git a/drivers/Driver_GPIO.c b/drivers/Driver_GPIO.c index e5a32c1..ffc28f1 100644 --- a/drivers/Driver_GPIO.c +++ b/drivers/Driver_GPIO.c @@ -1,7 +1,9 @@ #include "Driver_GPIO.h" #include "stm32f10x.h" + void MyGPIO_Init(MyGPIO_Struct_TypeDef * GPIOStructPtr) { + // Activation de l'horloge correspondante au port GPIO if (GPIOStructPtr->GPIO == GPIOA) { RCC->APB2ENR |= RCC_APB2ENR_IOPAEN; @@ -12,22 +14,25 @@ void MyGPIO_Init(MyGPIO_Struct_TypeDef * GPIOStructPtr) { } else if (GPIOStructPtr->GPIO == GPIOD) { RCC->APB2ENR |= RCC_APB2ENR_IOPDEN; } - - // Configuration de la broche GPIO - if (GPIOStructPtr->GPIO_Pin < 8) { // CRL Configure les GPIO de 0 à 7 - GPIOStructPtr->GPIO->CRL &= ~(0xF << (4 * GPIOStructPtr->GPIO_Pin)); // Efface les 4 bits correspondant à la broche GPIO, on calcule la position à partir du début en multipliant par 4 (eg. 4 * GPIO5 = 20), on fais un masque avec 0b1111 (0xF) ensuite pour mettre à 0 les bits présents - GPIOStructPtr->GPIO->CRL |= (GPIOStructPtr->GPIO_Conf << (4 * GPIOStructPtr->GPIO_Pin)); // Ajoute la configuration pour la broche GPIO - } else { // CRH Configure les GPIO de 8 à 15 - GPIOStructPtr->GPIO->CRL &= ~(0xF << (4 * (GPIOStructPtr->GPIO_Pin - 8))); - GPIOStructPtr->GPIO->CRL |= (GPIOStructPtr->GPIO_Conf << (4 * (GPIOStructPtr->GPIO_Pin - 8))); // On soutrait de 8 car la première broche de CRH est la 8 (8 - 8 == 0) - } - + // Configuration d'une résistance de pull-up ou pull-down si nécessaire if (GPIOStructPtr->GPIO_Conf == In_PullUp) { GPIOStructPtr->GPIO->ODR |= (1 << GPIOStructPtr->GPIO_Pin); } else if (GPIOStructPtr->GPIO_Conf == In_PullDown) { GPIOStructPtr->GPIO->ODR &= ~(1 << GPIOStructPtr->GPIO_Pin); + GPIOStructPtr->GPIO_Conf >>= 4; // Delete the F added to differenciate PullUp and PullDown (0x8F >>4 -> 0x8) to allow correct configuration } + + // Configuration de la broche GPIO + if (GPIOStructPtr->GPIO_Pin < 8) { // CRL Configure les GPIO de 0 à 7 + GPIOStructPtr->GPIO->CRL &= ~(0xF << (4 * GPIOStructPtr->GPIO_Pin)); // Efface les 4 bits correspondant à la broche GPIO, on calcule la position à partir du début en multipliant par 4 (eg. 4 * GPIO5 = 20), on fais un masque avec 0b1111 (0xF) ensuite pour mettre à 0 les bits présents + GPIOStructPtr->GPIO->CRL |= (GPIOStructPtr->GPIO_Conf << (4 * GPIOStructPtr->GPIO_Pin)); // Ajoute la configuration pour la broche GPIO + } else { // CRH Configure les GPIO de 8 à 15 + GPIOStructPtr->GPIO->CRH &= ~(0xF << (4 * (GPIOStructPtr->GPIO_Pin - 8))); + GPIOStructPtr->GPIO->CRH |= (GPIOStructPtr->GPIO_Conf << (4 * (GPIOStructPtr->GPIO_Pin - 8))); // On soutrait de 8 car la première broche de CRH est la 8 (8 - 8 == 0) + } + + } int MyGPIO_Read(GPIO_TypeDef * GPIO, char GPIO_Pin) { @@ -55,4 +60,4 @@ void MyGPIO_Reset(GPIO_TypeDef * GPIO, char GPIO_Pin) void MyGPIO_Toggle(GPIO_TypeDef * GPIO, char GPIO_Pin) { GPIO->ODR ^= (1 << GPIO_Pin); // On fait un XOR pour toggle la pin correspondante -} \ No newline at end of file +} diff --git a/drivers/Driver_GPIO.h b/drivers/Driver_GPIO.h index 144a670..3e3541e 100644 --- a/drivers/Driver_GPIO.h +++ b/drivers/Driver_GPIO.h @@ -10,8 +10,8 @@ typedef struct { #define In_Floating 0x4 // 0x0100 -#define In_PullDown 0x8 // 0x1000 #define In_PullUp 0x8 // 0x1000 (même valeur que In_PullDown) +#define In_PullDown 0x8F // 0x1000 //F added to differenciate PullUp and PullDown #define In_Analog 0x0 // 0x0000 #define Out_Ppull 0x1 // 0x0001 #define Out_OD 0x5 // 0x0101 diff --git a/drivers/Driver_Timer.c b/drivers/Driver_Timer.c index 35c6b79..64ff1e2 100644 --- a/drivers/Driver_Timer.c +++ b/drivers/Driver_Timer.c @@ -1,16 +1,22 @@ #include "Driver_Timer.h" - -void MyTimer_Base_Init(MyTimer_Struct_TypeDef * Timer) +void MyTimer_Init(MyTimer_Struct_TypeDef *Timer) { // Activation de l'horloge correspondante au Timer - if (Timer->Timer == TIM1) { + if (Timer->Timer == TIM1) + { RCC->APB2ENR |= RCC_APB2ENR_TIM1EN; // Voir p140 du manual - } else if (Timer->Timer == TIM2) { + } + else if (Timer->Timer == TIM2) + { RCC->APB1ENR |= RCC_APB1ENR_TIM2EN; - } else if (Timer->Timer == TIM3) { - RCC->APB1ENR |= RCC_APB1ENR_TIM3EN; - } else if (Timer->Timer == TIM4) { + } + else if (Timer->Timer == TIM3) + { + RCC->APB1ENR |= RCC_APB1ENR_TIM3EN; + } + else if (Timer->Timer == TIM4) + { RCC->APB1ENR |= RCC_APB1ENR_TIM4EN; } @@ -18,14 +24,15 @@ void MyTimer_Base_Init(MyTimer_Struct_TypeDef * Timer) // Le compteur du registre PSC commence à zéro, donc on soustrait 1 pour éviter les débordements. Timer->Timer->PSC = Timer->PSC - 1; // Valeur du prescaler Timer->Timer->ARR = Timer->ARR - 1; // Valeur de l'autoreload -> Quand cette valeur est atteinte le timer est réinitialisé - Timer->Timer->CR1 |= TIM_CR1_ARPE; // Active "Autoreload preload" pour prendre en compte immédiatement les modifications de la valeur de l'autoreload (ARR) lors du prochain cycle de Timer. - + Timer->Timer->CR1 |= TIM_CR1_ARPE; // Active "Autoreload preload" pour prendre en compte immédiatement les modifications de la valeur de l'autoreload (ARR) lors du prochain cycle de Timer. } -void MyTimer_Base_Start(MyTimer_Struct_TypeDef * Timer) { +void MyTimer_Start(MyTimer_Struct_TypeDef *Timer) +{ Timer->Timer->CR1 |= TIM_CR1_CEN; // Démarre le Timer } -void MyTimer_Base_Stop(MyTimer_Struct_TypeDef * Timer) { +void MyTimer_Stop(MyTimer_Struct_TypeDef *Timer) +{ Timer->Timer->CR1 &= ~TIM_CR1_CEN; // Arrête le Timer } \ No newline at end of file diff --git a/drivers/Driver_Timer.h b/drivers/Driver_Timer.h index abb16c4..c34de31 100644 --- a/drivers/Driver_Timer.h +++ b/drivers/Driver_Timer.h @@ -15,7 +15,7 @@ typedef struct void MyTimer_Base_Init(MyTimer_Struct_TypeDef * Timer); void MyTimer_Base_Start(MyTimer_Struct_TypeDef * Timer); void MyTimer_Base_Stop(MyTimer_Struct_TypeDef * Timer); - +void MyTimer_Base_Reset(MyTimer_Struct_TypeDef * Timer); //#define MyTimer_Base_Start(Timer) //#define MyTimer_Base_Stop(Timer) diff --git a/projet_1/Listings/tp_sim.map b/projet_1/Listings/tp_sim.map index 813fda8..9fefc72 100644 --- a/projet_1/Listings/tp_sim.map +++ b/projet_1/Listings/tp_sim.map @@ -4,21 +4,21 @@ Component: Arm Compiler for Embedded 6.19 Tool: armlink [5e73cb00] Section Cross References - main.o(.ARM.exidx.text.delay) refers to main.o(.text.delay) for [Anonymous Symbol] main.o(.text.main) refers to driver_gpio.o(.text.MyGPIO_Init) for MyGPIO_Init - main.o(.text.main) refers to driver_timer.o(.text.MyTimer_Base_Init) for MyTimer_Base_Init - main.o(.text.main) refers to driver_timer.o(.text.MyTimer_Base_Start) for MyTimer_Base_Start - main.o(.text.main) refers to driver_gpio.o(.text.MyGPIO_Toggle) for MyGPIO_Toggle - main.o(.text.main) refers to driver_timer.o(.text.MyTimer_Base_Stop) for MyTimer_Base_Stop + main.o(.text.main) refers to driver_timer.o(.text.MyTimer_Init) for MyTimer_Init + main.o(.text.main) refers to driver_timer.o(.text.MyTimer_Start) for MyTimer_Start + main.o(.text.main) refers to driver_timer.o(.text.MyTimer_Stop) for MyTimer_Stop + main.o(.text.main) refers to driver_gpio.o(.text.MyGPIO_Set) for MyGPIO_Set + main.o(.text.main) refers to driver_gpio.o(.text.MyGPIO_Reset) for MyGPIO_Reset main.o(.ARM.exidx.text.main) refers to main.o(.text.main) for [Anonymous Symbol] driver_gpio.o(.ARM.exidx.text.MyGPIO_Init) refers to driver_gpio.o(.text.MyGPIO_Init) for [Anonymous Symbol] driver_gpio.o(.ARM.exidx.text.MyGPIO_Read) refers to driver_gpio.o(.text.MyGPIO_Read) for [Anonymous Symbol] driver_gpio.o(.ARM.exidx.text.MyGPIO_Set) refers to driver_gpio.o(.text.MyGPIO_Set) for [Anonymous Symbol] driver_gpio.o(.ARM.exidx.text.MyGPIO_Reset) refers to driver_gpio.o(.text.MyGPIO_Reset) for [Anonymous Symbol] driver_gpio.o(.ARM.exidx.text.MyGPIO_Toggle) refers to driver_gpio.o(.text.MyGPIO_Toggle) for [Anonymous Symbol] - driver_timer.o(.ARM.exidx.text.MyTimer_Base_Init) refers to driver_timer.o(.text.MyTimer_Base_Init) for [Anonymous Symbol] - driver_timer.o(.ARM.exidx.text.MyTimer_Base_Start) refers to driver_timer.o(.text.MyTimer_Base_Start) for [Anonymous Symbol] - driver_timer.o(.ARM.exidx.text.MyTimer_Base_Stop) refers to driver_timer.o(.text.MyTimer_Base_Stop) for [Anonymous Symbol] + driver_timer.o(.ARM.exidx.text.MyTimer_Init) refers to driver_timer.o(.text.MyTimer_Init) for [Anonymous Symbol] + driver_timer.o(.ARM.exidx.text.MyTimer_Start) refers to driver_timer.o(.text.MyTimer_Start) for [Anonymous Symbol] + driver_timer.o(.ARM.exidx.text.MyTimer_Stop) refers to driver_timer.o(.text.MyTimer_Stop) for [Anonymous Symbol] startup_stm32f10x_md.o(RESET) refers to startup_stm32f10x_md.o(STACK) for __initial_sp startup_stm32f10x_md.o(RESET) refers to startup_stm32f10x_md.o(.text) for Reset_Handler startup_stm32f10x_md.o(.text) refers to system_stm32f10x.o(.text.SystemInit) for SystemInit @@ -49,23 +49,21 @@ Section Cross References Removing Unused input sections from the image. Removing main.o(.text), (0 bytes). - Removing main.o(.text.delay), (2 bytes). - Removing main.o(.ARM.exidx.text.delay), (8 bytes). Removing main.o(.ARM.exidx.text.main), (8 bytes). Removing main.o(.ARM.use_no_argv), (4 bytes). Removing driver_gpio.o(.text), (0 bytes). Removing driver_gpio.o(.ARM.exidx.text.MyGPIO_Init), (8 bytes). Removing driver_gpio.o(.text.MyGPIO_Read), (10 bytes). Removing driver_gpio.o(.ARM.exidx.text.MyGPIO_Read), (8 bytes). - Removing driver_gpio.o(.text.MyGPIO_Set), (14 bytes). Removing driver_gpio.o(.ARM.exidx.text.MyGPIO_Set), (8 bytes). - Removing driver_gpio.o(.text.MyGPIO_Reset), (10 bytes). Removing driver_gpio.o(.ARM.exidx.text.MyGPIO_Reset), (8 bytes). + Removing driver_gpio.o(.text.MyGPIO_Toggle), (14 bytes). Removing driver_gpio.o(.ARM.exidx.text.MyGPIO_Toggle), (8 bytes). Removing driver_timer.o(.text), (0 bytes). - Removing driver_timer.o(.ARM.exidx.text.MyTimer_Base_Init), (8 bytes). - Removing driver_timer.o(.ARM.exidx.text.MyTimer_Base_Start), (8 bytes). - Removing driver_timer.o(.ARM.exidx.text.MyTimer_Base_Stop), (8 bytes). + Removing driver_timer.o(.ARM.exidx.text.MyTimer_Init), (8 bytes). + Removing driver_timer.o(.ARM.exidx.text.MyTimer_Start), (8 bytes). + Removing driver_timer.o(.ARM.exidx.text.MyTimer_Stop), (8 bytes). + Removing driver_adc.o(.text), (0 bytes). Removing startup_stm32f10x_md.o(HEAP), (512 bytes). Removing system_stm32f10x.o(.text), (0 bytes). Removing system_stm32f10x.o(.ARM.exidx.text.SystemInit), (8 bytes). @@ -74,7 +72,7 @@ Removing Unused input sections from the image. Removing system_stm32f10x.o(.data.SystemCoreClock), (4 bytes). Removing system_stm32f10x.o(.rodata.AHBPrescTable), (16 bytes). -25 unused section(s) (total 778 bytes) removed from the image. +23 unused section(s) (total 758 bytes) removed from the image. ============================================================================== @@ -97,6 +95,7 @@ Image Symbol Table ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE + Driver_ADC.c 0x00000000 Number 0 driver_adc.o ABSOLUTE Driver_GPIO.c 0x00000000 Number 0 driver_gpio.o ABSOLUTE Driver_Timer.c 0x00000000 Number 0 driver_timer.o ABSOLUTE RTE/Device/STM32F103RB/startup_stm32f10x_md.s 0x00000000 Number 0 startup_stm32f10x_md.o ABSOLUTE @@ -119,15 +118,16 @@ Image Symbol Table .text 0x08000100 Section 36 startup_stm32f10x_md.o(.text) .text 0x08000124 Section 36 init.o(.text) [Anonymous Symbol] 0x08000148 Section 0 driver_gpio.o(.text.MyGPIO_Init) - [Anonymous Symbol] 0x080001c8 Section 0 driver_gpio.o(.text.MyGPIO_Toggle) - [Anonymous Symbol] 0x080001d8 Section 0 driver_timer.o(.text.MyTimer_Base_Init) - [Anonymous Symbol] 0x08000270 Section 0 driver_timer.o(.text.MyTimer_Base_Start) - [Anonymous Symbol] 0x0800027c Section 0 driver_timer.o(.text.MyTimer_Base_Stop) - [Anonymous Symbol] 0x08000288 Section 0 system_stm32f10x.o(.text.SystemInit) - [Anonymous Symbol] 0x08000398 Section 0 main.o(.text.main) - i.__scatterload_copy 0x08000406 Section 14 handlers.o(i.__scatterload_copy) - i.__scatterload_null 0x08000414 Section 2 handlers.o(i.__scatterload_null) - i.__scatterload_zeroinit 0x08000416 Section 14 handlers.o(i.__scatterload_zeroinit) + [Anonymous Symbol] 0x080001e8 Section 0 driver_gpio.o(.text.MyGPIO_Reset) + [Anonymous Symbol] 0x080001f4 Section 0 driver_gpio.o(.text.MyGPIO_Set) + [Anonymous Symbol] 0x08000204 Section 0 driver_timer.o(.text.MyTimer_Init) + [Anonymous Symbol] 0x0800029c Section 0 driver_timer.o(.text.MyTimer_Start) + [Anonymous Symbol] 0x080002a8 Section 0 driver_timer.o(.text.MyTimer_Stop) + [Anonymous Symbol] 0x080002b4 Section 0 system_stm32f10x.o(.text.SystemInit) + [Anonymous Symbol] 0x080003c4 Section 0 main.o(.text.main) + i.__scatterload_copy 0x08000466 Section 14 handlers.o(i.__scatterload_copy) + i.__scatterload_null 0x08000474 Section 2 handlers.o(i.__scatterload_null) + i.__scatterload_zeroinit 0x08000476 Section 14 handlers.o(i.__scatterload_zeroinit) STACK 0x20000000 Section 1024 startup_stm32f10x_md.o(STACK) Global Symbols @@ -207,18 +207,19 @@ Image Symbol Table WWDG_IRQHandler 0x0800011b Thumb Code 0 startup_stm32f10x_md.o(.text) __scatterload 0x08000125 Thumb Code 28 init.o(.text) __scatterload_rt2 0x08000125 Thumb Code 0 init.o(.text) - MyGPIO_Init 0x08000149 Thumb Code 112 driver_gpio.o(.text.MyGPIO_Init) - MyGPIO_Toggle 0x080001c9 Thumb Code 14 driver_gpio.o(.text.MyGPIO_Toggle) - MyTimer_Base_Init 0x080001d9 Thumb Code 152 driver_timer.o(.text.MyTimer_Base_Init) - MyTimer_Base_Start 0x08000271 Thumb Code 12 driver_timer.o(.text.MyTimer_Base_Start) - MyTimer_Base_Stop 0x0800027d Thumb Code 12 driver_timer.o(.text.MyTimer_Base_Stop) - SystemInit 0x08000289 Thumb Code 272 system_stm32f10x.o(.text.SystemInit) - main 0x08000399 Thumb Code 110 main.o(.text.main) - __scatterload_copy 0x08000407 Thumb Code 14 handlers.o(i.__scatterload_copy) - __scatterload_null 0x08000415 Thumb Code 2 handlers.o(i.__scatterload_null) - __scatterload_zeroinit 0x08000417 Thumb Code 14 handlers.o(i.__scatterload_zeroinit) - Region$$Table$$Base 0x08000424 Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x08000434 Number 0 anon$$obj.o(Region$$Table) + MyGPIO_Init 0x08000149 Thumb Code 144 driver_gpio.o(.text.MyGPIO_Init) + MyGPIO_Reset 0x080001e9 Thumb Code 10 driver_gpio.o(.text.MyGPIO_Reset) + MyGPIO_Set 0x080001f5 Thumb Code 14 driver_gpio.o(.text.MyGPIO_Set) + MyTimer_Init 0x08000205 Thumb Code 152 driver_timer.o(.text.MyTimer_Init) + MyTimer_Start 0x0800029d Thumb Code 12 driver_timer.o(.text.MyTimer_Start) + MyTimer_Stop 0x080002a9 Thumb Code 12 driver_timer.o(.text.MyTimer_Stop) + SystemInit 0x080002b5 Thumb Code 272 system_stm32f10x.o(.text.SystemInit) + main 0x080003c5 Thumb Code 162 main.o(.text.main) + __scatterload_copy 0x08000467 Thumb Code 14 handlers.o(i.__scatterload_copy) + __scatterload_null 0x08000475 Thumb Code 2 handlers.o(i.__scatterload_null) + __scatterload_zeroinit 0x08000477 Thumb Code 14 handlers.o(i.__scatterload_zeroinit) + Region$$Table$$Base 0x08000484 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x08000494 Number 0 anon$$obj.o(Region$$Table) __initial_sp 0x20000400 Data 0 startup_stm32f10x_md.o(STACK) @@ -229,48 +230,50 @@ Memory Map of the image Image Entry point : 0x08000101 - Load Region LR_1 (Base: 0x08000000, Size: 0x00000434, Max: 0xffffffff, ABSOLUTE) + Load Region LR_1 (Base: 0x08000000, Size: 0x00000494, Max: 0xffffffff, ABSOLUTE) - Execution Region ER_RO (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000434, Max: 0xffffffff, ABSOLUTE) + Execution Region ER_RO (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000494, Max: 0xffffffff, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x08000000 0x08000000 0x000000ec Data RO 47 RESET startup_stm32f10x_md.o - 0x080000ec 0x080000ec 0x00000000 Code RO 68 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) - 0x080000ec 0x080000ec 0x00000004 Code RO 71 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) - 0x080000f0 0x080000f0 0x00000004 Code RO 74 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) - 0x080000f4 0x080000f4 0x00000000 Code RO 76 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) - 0x080000f4 0x080000f4 0x00000000 Code RO 78 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) - 0x080000f4 0x080000f4 0x00000008 Code RO 79 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) - 0x080000fc 0x080000fc 0x00000000 Code RO 81 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o) - 0x080000fc 0x080000fc 0x00000000 Code RO 83 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o) - 0x080000fc 0x080000fc 0x00000004 Code RO 72 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) - 0x08000100 0x08000100 0x00000024 Code RO 48 * .text startup_stm32f10x_md.o - 0x08000124 0x08000124 0x00000024 Code RO 85 .text mc_w.l(init.o) - 0x08000148 0x08000148 0x00000080 Code RO 14 .text.MyGPIO_Init driver_gpio.o - 0x080001c8 0x080001c8 0x0000000e Code RO 22 .text.MyGPIO_Toggle driver_gpio.o - 0x080001d6 0x080001d6 0x00000002 PAD - 0x080001d8 0x080001d8 0x00000098 Code RO 32 .text.MyTimer_Base_Init driver_timer.o - 0x08000270 0x08000270 0x0000000c Code RO 34 .text.MyTimer_Base_Start driver_timer.o - 0x0800027c 0x0800027c 0x0000000c Code RO 36 .text.MyTimer_Base_Stop driver_timer.o - 0x08000288 0x08000288 0x00000110 Code RO 55 .text.SystemInit system_stm32f10x.o - 0x08000398 0x08000398 0x0000006e Code RO 4 .text.main main.o - 0x08000406 0x08000406 0x0000000e Code RO 89 i.__scatterload_copy mc_w.l(handlers.o) - 0x08000414 0x08000414 0x00000002 Code RO 90 i.__scatterload_null mc_w.l(handlers.o) - 0x08000416 0x08000416 0x0000000e Code RO 91 i.__scatterload_zeroinit mc_w.l(handlers.o) - 0x08000424 0x08000424 0x00000010 Data RO 88 Region$$Table anon$$obj.o + 0x08000000 0x08000000 0x000000ec Data RO 45 RESET startup_stm32f10x_md.o + 0x080000ec 0x080000ec 0x00000000 Code RO 66 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) + 0x080000ec 0x080000ec 0x00000004 Code RO 69 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) + 0x080000f0 0x080000f0 0x00000004 Code RO 72 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) + 0x080000f4 0x080000f4 0x00000000 Code RO 74 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) + 0x080000f4 0x080000f4 0x00000000 Code RO 76 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) + 0x080000f4 0x080000f4 0x00000008 Code RO 77 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) + 0x080000fc 0x080000fc 0x00000000 Code RO 79 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o) + 0x080000fc 0x080000fc 0x00000000 Code RO 81 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o) + 0x080000fc 0x080000fc 0x00000004 Code RO 70 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) + 0x08000100 0x08000100 0x00000024 Code RO 46 * .text startup_stm32f10x_md.o + 0x08000124 0x08000124 0x00000024 Code RO 83 .text mc_w.l(init.o) + 0x08000148 0x08000148 0x000000a0 Code RO 11 .text.MyGPIO_Init driver_gpio.o + 0x080001e8 0x080001e8 0x0000000a Code RO 17 .text.MyGPIO_Reset driver_gpio.o + 0x080001f2 0x080001f2 0x00000002 PAD + 0x080001f4 0x080001f4 0x0000000e Code RO 15 .text.MyGPIO_Set driver_gpio.o + 0x08000202 0x08000202 0x00000002 PAD + 0x08000204 0x08000204 0x00000098 Code RO 29 .text.MyTimer_Init driver_timer.o + 0x0800029c 0x0800029c 0x0000000c Code RO 31 .text.MyTimer_Start driver_timer.o + 0x080002a8 0x080002a8 0x0000000c Code RO 33 .text.MyTimer_Stop driver_timer.o + 0x080002b4 0x080002b4 0x00000110 Code RO 53 .text.SystemInit system_stm32f10x.o + 0x080003c4 0x080003c4 0x000000a2 Code RO 2 .text.main main.o + 0x08000466 0x08000466 0x0000000e Code RO 87 i.__scatterload_copy mc_w.l(handlers.o) + 0x08000474 0x08000474 0x00000002 Code RO 88 i.__scatterload_null mc_w.l(handlers.o) + 0x08000476 0x08000476 0x0000000e Code RO 89 i.__scatterload_zeroinit mc_w.l(handlers.o) + 0x08000484 0x08000484 0x00000010 Data RO 86 Region$$Table anon$$obj.o - Execution Region ER_RW (Exec base: 0x20000000, Load base: 0x08000434, Size: 0x00000000, Max: 0xffffffff, ABSOLUTE) + Execution Region ER_RW (Exec base: 0x20000000, Load base: 0x08000494, Size: 0x00000000, Max: 0xffffffff, ABSOLUTE) **** No section assigned to this execution region **** - Execution Region ER_ZI (Exec base: 0x20000000, Load base: 0x08000434, Size: 0x00000400, Max: 0xffffffff, ABSOLUTE) + Execution Region ER_ZI (Exec base: 0x20000000, Load base: 0x08000494, Size: 0x00000400, Max: 0xffffffff, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x20000000 - 0x00000400 Zero RW 45 STACK startup_stm32f10x_md.o + 0x20000000 - 0x00000400 Zero RW 43 STACK startup_stm32f10x_md.o ============================================================================== @@ -280,16 +283,16 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug Object Name - 142 16 0 0 0 2108 driver_gpio.o - 176 0 0 0 0 2375 driver_timer.o - 110 0 0 0 0 2206 main.o + 184 16 0 0 0 2117 driver_gpio.o + 176 0 0 0 0 2360 driver_timer.o + 162 0 0 0 0 2120 main.o 36 8 236 0 1024 840 startup_stm32f10x_md.o 272 0 0 0 0 2793 system_stm32f10x.o ---------------------------------------------------------------------- - 738 24 252 0 1024 10322 Object Totals + 834 24 252 0 1024 10230 Object Totals 0 0 16 0 0 0 (incl. Generated) - 2 0 0 0 0 0 (incl. Padding) + 4 0 0 0 0 0 (incl. Padding) ---------------------------------------------------------------------- @@ -326,15 +329,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 824 40 252 0 1024 10482 Grand Totals - 824 40 252 0 1024 10482 ELF Image Totals - 824 40 252 0 0 0 ROM Totals + 920 40 252 0 1024 10390 Grand Totals + 920 40 252 0 1024 10390 ELF Image Totals + 920 40 252 0 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 1076 ( 1.05kB) + Total RO Size (Code + RO Data) 1172 ( 1.14kB) Total RW Size (RW Data + ZI Data) 1024 ( 1.00kB) - Total ROM Size (Code + RO Data + RW Data) 1076 ( 1.05kB) + Total ROM Size (Code + RO Data + RW Data) 1172 ( 1.14kB) ============================================================================== diff --git a/projet_1/Objects/driver_adc.d b/projet_1/Objects/driver_adc.d new file mode 100644 index 0000000..3d79e2f --- /dev/null +++ b/projet_1/Objects/driver_adc.d @@ -0,0 +1,9 @@ +./objects/driver_adc.o: ..\drivers\Driver_ADC.c ..\drivers\Driver_Timer.h \ + C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h \ + RTE\_sim\RTE_Components.h \ + C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h \ + C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \ + C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_version.h \ + C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_compiler.h \ + C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h \ + C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h diff --git a/projet_1/Objects/driver_adc.o b/projet_1/Objects/driver_adc.o new file mode 100644 index 0000000000000000000000000000000000000000..30fca69c02240baad6747a9a4926f8e41dd02aae GIT binary patch literal 600 zcmb7CO-lnY5S`h6>Ore0ew=~_@zStbKWI^L*%nW&Q1m1syW1#Bn@vfh=&}FMpQ0y^ zI@#T#9u$0#ym^^qg?{T*Y zrATQbp6apz<@rjt3Ukf^Ea9@V;;h0NuHy!7;udb>B3ZnC7qCJ>?fc6~6Wol_y$Ej~ zz^SbP9w{m5;lRnv17ma?J{U0po+u;udGD$|F+nthwvHc#zV+HZkAP2%HbF@IEG_>F z_zG~6IttytjWk6uo22|p;W3?e(wrT82J5jI3ySUNSsS}ES}C%lnaX$yQybI(3VDL6 YdU=@B_@@N>4am?TvMpJjeo49b3A?#O2mk;8 literal 0 HcmV?d00001 diff --git a/projet_1/Objects/driver_gpio.d b/projet_1/Objects/driver_gpio.d index ed3536d..90914cb 100644 --- a/projet_1/Objects/driver_gpio.d +++ b/projet_1/Objects/driver_gpio.d @@ -1,7 +1,7 @@ ./objects/driver_gpio.o: ..\drivers\Driver_GPIO.c \ ..\drivers\Driver_GPIO.h \ C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h \ - RTE\_board\RTE_Components.h \ + RTE\_sim\RTE_Components.h \ C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h \ C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \ C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_version.h \ diff --git a/projet_1/Objects/driver_gpio.o b/projet_1/Objects/driver_gpio.o index a467d842dce5573f57c7fbacd6b332e71773cbd3..3d2d208131dc4eda459607dc77aa43f9168435d3 100644 GIT binary patch delta 1882 zcmZWpPiPcZ82{e9d6Svh$?l>}OwwqQB}wB_*CbtKsYZqbFG+)mmg2!+N@)m1QK1F5 z6i2ovL3DMXNWl>3p|(BL5)Xn%Ja{NZu)P%(D!1zLv>L*JTE-Y!HAlR~ zul@d~hT+b;i&y;Yggu|V4XY*q*Z`MSKJ$*DC}4)zg>X)Eu1t$RjG#*BT$ccl%0(HD zu(-!SF-1CoVs4Po!6KsWb_70Qbr2;_%${K7Q?#`nMC2-|Z;>lF_(2*!F}Iu0q9_niVwi94Y z?bxY0M$vNtH-0>+9QkH}q$MRR*>4}VQIG>dW!-j5eo(+*a%90U(*Lo) z6JB+CL@B)Obc?;=LucT!TNKrBm-`Qvo=EV$9pEG> zCS58PuK3Iy=wr?#Mb>Q%og}v#o)D)5g6kYevSQsPL`gQ0Qw`m0PDGWq15z(=^n>vpL?^?1dAH}<)E@(Emgl>++6yDvVQBQVo&GZT6r=$gb z7LiEI67U|Yn3A6nKsJhsuniS11-jXX$#`-ad^FUp$F91j>y*4zy9fM^_K{-J5HyNZ z2aOp5FD)8He4XDOhyBMw3XG zEzXA+$1PwDK8}|7s>WjQgnk%agxaeaf?O>Y3$&+sjz^bh3x#Bp&jExxAfCmV%3qqoA$$)-Jc zcKClm;C~Z%)QH#u9i-5MqV9MFJ~HQbtuQtF?5$dTKkl)qvImjpU7S0vMOZ`H(+4ob h2A^qs3~7B-+7;j|rzc}pz#(0GCTam6)@Hg0uK+WMtCau% delta 1840 zcmY*ZL1-Lh6n_8w^G|0do867gwwqX!-9>8+bvHJx4OnC_dfAF@8@#j)trS8KWA-3o zOY5ZZVm*}90r6r9c<|ssA%cghxfBglP;W&`_0U664{O^)2txhd`)4NGALf7Weeb>R z{qLVQb93zLvE{0ByLh?2Z@T>1wYyG!dZS*wxk2N@Q$KA`)j6}!9o72pCB3|1{`AKt z*J66LTg>O@@|(K*_+Lc+DSxi8sqa;$zW>)R`ll*urSDYr`rL9@nOeX6Sh!nM1 zycM5UL#y-ZmJ@Xtof%d{+6|!72~nSOp!TuNpqkmuXl*~x;3)uah`AeDUL9Ew<8Ao* zj{^CW%{qrt4i6RZsF`OOZRS;5Qk$F_%oA-R$!^BKy5*sX)IA~Yj}ar@iTDA$lc{%7 zylbgZ{pYd+fmt6f^n1c8v5+rwjq7?im7;d;0mBwmODE6}D(qcSN z+J21VQ}+_pzr~znbtH_WfX_KJ5<*&)c%WPcWqMeVDR67h7~ci@!AQ|HA~}mTNQF`j z8divBIU)Fm+ZHcmy7sZ66zu|o<*=SRB3$~!nmB#Pnxv0gtU)z}MkBmlyW}DglHU@{ zN#qvyEg%oo`Z5Vg#5sIhxHN7h#EH2g8n{8_EDT&lJf`eO!_7z^)r(7baH;DHeSCBo#asMF-V?;uC=K@ zxdE6~yGr}n#ax!p?msga5{+Jmw1lu|55~7fbTFMyK$b?iwt^}VZSOh3G$Ldvyy3vjHt0#*a!(C zqTa?rQl!#CMOIR%pp6JNBBm59Od*mYMX(a|%)C!lhkbL;%$zrOX6}9axO}I4uc-FE z=|3S%4nfX*_D|6nhJP8HNxF{}aZTQ1Z{lgpv?abI8+DgPKO%4g%M9 z(wtxqc(zOFK}9smA~(a?>N$x9Qn=g-ZJ&nA``b6+*Oync0|UFZBZ z?K#WV{PL1De?oUSR<5q~f@4ip;9qj!i~_f{e(hM-D$GfToGW6q)pc=E?{+G>v!aX6 z{s;mn^Uf~?wnZ9+aaZQEUrPNU^UE)&KGPoTQYCW$x?o0w88u=)1bu3yu^9|m=18{R z%w~tp`|PtG`i-~u5jw;#!>L5^WR*FSYdvI>!(I_kLdg;xjxjw<5Z)PvVN1|4_ghGNMO#q!g}zuV5%VQAw@p~uQpfXbK@*Z(N>69Gy7&_CbMTdO?IBT2!|(W5AyH_BB#r@wWo$LO5>tdCH6LA zoR$><^o`?jSI48k_VQ0_;{Gn0Yn201xXdgWdf6EcOHBGkUX>B%9Tp^+;xk16wM$7% wLhE0kPYM>L_$+0I^-ppIli_s7q`b}FWiCpCVRaC#Q6{&Ymbc^`75_v21>Mba`Tzg` delta 1473 zcmZ8gF=!M)6#cWiv)S8S?k=cFbk$ri5f9?!ut{TahyhQCiiwDzgcL!7s4S=*06|d=d6t|$MX=MI5Em-^x6gqL#8(o1>KD(@MenHZ~|nVhBJ#^~hfiRm$gjLeQtuZEHX-t(ol zT)&7rWYJ$QbMB(uSX{6h`(=k~hfOKxU3;bie8B~nE?kxJg==4^Fvr)N^JvMc8JGIpMzoB;o~Izg?=3zEgaOr{lb$Ny+~~fLT)@2G{Cn36SP|g z*@6OG$Dm-Wwh^B4a<-9#n^Nwio^@eUv6+8B;Nh!lfRi_s2!e=eEI71+*i#QAP+UxP zA~+;a#Vd^HBZ>b7rr5UB>qPDpPfh;sx}J@k6~=p!$kQ6AE20f}R7ABuybKGpbRJ>OxYFLCzm?d$mD8#JUxkmRh-I80<6k9?&hKM-0AR`wqA=%iKxyiaEHw zLYAzTfmq$bTMnUB!T?7kRnRh+djeEb@Xa}XEv7G3bS2kLlvh|))h-C7!FY1}x(Zu# ze`p{XEaqdSbP2p6yjX!>6^mM4v(gca<##QJN<(x?L+T_PX6>OvkP)=3*MGxx=}?W> z&6m43dxMOkX+LWmz_@|R(o*6vxl~n7ens?(VV(EYJd>tzhhyU`-mTmTF323n_t`rcG@FWog$GsIVj& z8<#eHQLBMm(+6$(fEqRNE1?gXw28jd#Q0*=Xf!HGo9crmH7Xh(sOQZ7?-owj{hhBl zb7t<`S#ECmx^=!ebHyVOwOyl)s>vXeb$4M;Q*-Z1{PcVO#>oDg#@l+#i+BE6z0|m2#@GlrG#^TcZ#%E?}QEER?%{^OA zt;J=`1$Tp3;f-aBj*HcBh%It6tSdXz&c*<%b~x(VD%Qd377p7E#U5mRh{JZsjy)FW zt|IplHe4e##<2pcDjIc_6Kj>~AMjY^QtVk?=uZ+0+p$xD9&wiXRgLLRj1(rRFj-uh z4td5sNgfi&A}f!2NqW+M)BUqltC}J!${J7&Ta~rVv1W3r$+40-)zGi3eSvpEduwuQ z5>Mn*!m%22Dt=X29ZFf5amU&_t}>3*by+DV>+Cyu-m!LT&nFbP9P3)?oN1CFPl>2} z9<<6|DL))(GTQw1$Ogmp4@R0wi6EqDQHn_VuOi-;AGicBpN_1};g#-(y>`*swS(xc zkG0p<43xm^nt>;^UXpKvY@!fiDXL>F5+=GId0dwEFXjREZyn2)_thrMZe&`YJfDZEmAJ z|FLir>pSDJ-LkY^qPO`@461UQWpz&O3aQ6OL5o3hix@pHfzV~SRSbUZMfSj}OW^(s zDkDU+9B4NXnuBAok}A#XO{LI{AiKgg*vG&kniAz>qeT~Q=9&Hn D^?%qj literal 4964 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 zu^1}TProject: C:\Users\robin\OneDrive\Documents\Dev\tp\projet_1\tp.uvprojx -Project File Date: 03/19/2023 +Project File Date: 03/20/2023

Output:

*** Using Compiler 'V6.19', folder: 'C:\Keil_v5\ARM\ARMCLANG\Bin' -Rebuild target 'board' +Rebuild target 'sim' +compiling Driver_ADC.c... assembling startup_stm32f10x_md.s... -compiling Driver_Timer.c... -compiling main.c... -compiling Driver_GPIO.c... compiling system_stm32f10x.c... +compiling Driver_Timer.c... +compiling Driver_GPIO.c... +compiling main.c... linking... -Program Size: Code=824 RO-data=252 RW-data=0 ZI-data=1024 +Program Size: Code=920 RO-data=252 RW-data=0 ZI-data=1024 ".\Objects\tp_sim.axf" - 0 Error(s), 0 Warning(s).

Software Packages used:

@@ -52,7 +53,7 @@ Package Vendor: Keil

Collection of Component include folders:

./RTE/Device/STM32F103RB - ./RTE/_board + ./RTE/_sim C:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include C:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include diff --git a/projet_1/Objects/tp_sim.dep b/projet_1/Objects/tp_sim.dep index 501e5cd..cd3cbad 100644 --- a/projet_1/Objects/tp_sim.dep +++ b/projet_1/Objects/tp_sim.dep @@ -1,6 +1,6 @@ Dependencies for Project 'tp', Target 'sim': (DO NOT MODIFY !) CompilerVersion: 6190000::V6.19::ARMCLANG -F (.\src\main.c)(0x64181E4D)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ./include -I ../drivers -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/main.o -MD) +F (.\src\main.c)(0x6418B461)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ./include -I ../drivers -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/main.o -MD) I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE) I (RTE\_sim\RTE_Components.h)(0x6415C555) I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E) @@ -9,10 +9,11 @@ I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cms I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_compiler.h)(0x626FAD4E) I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h)(0x626FAD4E) I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h)(0x61ADDBCE) -I (..\drivers\Driver_GPIO.h)(0x6417630F) -I (..\drivers\Driver_Timer.h)(0x64178681) -F (..\drivers\Driver_GPIO.c)(0x6417630F)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ./include -I ../drivers -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_gpio.o -MD) -I (..\drivers\Driver_GPIO.h)(0x6417630F) +I (..\drivers\Driver_GPIO.h)(0x6418B324) +I (..\drivers\Driver_Timer.h)(0x6418AED3) +I (..\drivers\Driver_ADC.h)(0x64185970) +F (..\drivers\Driver_GPIO.c)(0x6418B3FF)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ./include -I ../drivers -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_gpio.o -MD) +I (..\drivers\Driver_GPIO.h)(0x6418B324) I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE) I (RTE\_sim\RTE_Components.h)(0x6415C555) I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E) @@ -21,9 +22,9 @@ I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cms I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_compiler.h)(0x626FAD4E) I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h)(0x626FAD4E) I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h)(0x61ADDBCE) -F (..\drivers\Driver_GPIO.h)(0x6417630F)() -F (..\drivers\Driver_Timer.c)(0x64178684)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ./include -I ../drivers -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_timer.o -MD) -I (..\drivers\Driver_Timer.h)(0x64178681) +F (..\drivers\Driver_GPIO.h)(0x6418B324)() +F (..\drivers\Driver_Timer.c)(0x6418AEFF)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ./include -I ../drivers -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_timer.o -MD) +I (..\drivers\Driver_Timer.h)(0x6418AED3) I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE) I (RTE\_sim\RTE_Components.h)(0x6415C555) I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E) @@ -32,7 +33,18 @@ I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cms I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_compiler.h)(0x626FAD4E) I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h)(0x626FAD4E) I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h)(0x61ADDBCE) -F (..\drivers\Driver_Timer.h)(0x64178681)() +F (..\drivers\Driver_Timer.h)(0x6418AED3)() +F (..\drivers\Driver_ADC.c)(0x64182F1D)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ./include -I ../drivers -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/driver_adc.o -MD) +I (..\drivers\Driver_Timer.h)(0x6418AED3) +I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\stm32f10x.h)(0x61ADDBCE) +I (RTE\_sim\RTE_Components.h)(0x6415C555) +I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\core_cm3.h)(0x626FAD4E) +I (C:\Keil_v5\ARM\ARMCLANG\include\stdint.h)(0x6388AB78) +I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_version.h)(0x626FAD4E) +I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_compiler.h)(0x626FAD4E) +I (C:\Users\robin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include\cmsis_armclang.h)(0x626FAD4E) +I (C:\Users\robin\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include\system_stm32f10x.h)(0x61ADDBCE) +F (..\drivers\Driver_ADC.h)(0x64185970)() F (RTE/Device/STM32F103RB/RTE_Device.h)(0x5FC0B25A)() F (RTE/Device/STM32F103RB/startup_stm32f10x_md.s)(0x61ADDBCE)(--target=arm-arm-none-eabi -mcpu=cortex-m3 -masm=auto -Wa,armasm,--diag_suppress=A1950W -c -gdwarf-4 -Wa,armasm,--pd,"__MICROLIB SETA 1" -Wa,armasm,--pd,"__EVAL SETA 1" -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -Wa,armasm,--pd,"__UVISION_VERSION SETA 538" -Wa,armasm,--pd,"_RTE_ SETA 1" -Wa,armasm,--pd,"STM32F10X_MD SETA 1" -Wa,armasm,--pd,"_RTE_ SETA 1" -o ./objects/startup_stm32f10x_md.o) F (RTE/Device/STM32F103RB/system_stm32f10x.c)(0x61ADDBCE)(-xc -std=c90 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -D__EVAL -D__MICROLIB -gdwarf-4 -O1 -ffunction-sections -Wno-packed -Wno-missing-variable-declarations -Wno-missing-prototypes -Wno-missing-noreturn -Wno-sign-conversion -Wno-nonportable-include-path -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./src -I ./include -I ../drivers -I./RTE/Device/STM32F103RB -I./RTE/_sim -IC:/Users/robin/AppData/Local/Arm/Packs/ARM/CMSIS/5.9.0/CMSIS/Core/Include -IC:/Users/robin/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.0/Device/Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -o ./objects/system_stm32f10x.o -MD) diff --git a/projet_1/Objects/tp_sim.htm b/projet_1/Objects/tp_sim.htm index a0c0d97..dbdaeb2 100644 --- a/projet_1/Objects/tp_sim.htm +++ b/projet_1/Objects/tp_sim.htm @@ -3,7 +3,7 @@ Static Call Graph - [.\Objects\tp_sim.axf]

Static Call Graph for image .\Objects\tp_sim.axf


-

#<CALLGRAPH># ARM Linker, 6190004: Last Updated: Mon Mar 20 09:53:26 2023 +

#<CALLGRAPH># ARM Linker, 6190004: Last Updated: Mon Mar 20 20:30:45 2023

Maximum Stack Usage = 24 bytes + Unknown(Cycles, Untraceable Function Pointers)

Call chain for Maximum Stack Depth:

@@ -90,7 +90,7 @@ Global Symbols

__main (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
[Address Reference Count : 1]

  • startup_stm32f10x_md.o(.text)
-

_main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001)) +

_main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))

_main_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))

[Calls]

  • >>   __scatterload @@ -100,15 +100,15 @@ Global Symbols

    [Called By]
    • >>   __scatterload
    -

    _main_clock (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008)) +

    _main_clock (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008)) -

    _main_cpp_init (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A)) +

    _main_cpp_init (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A)) -

    _main_init (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B)) +

    _main_init (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B)) -

    __rt_final_cpp (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D)) +

    __rt_final_cpp (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D)) -

    __rt_final_exit (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F)) +

    __rt_final_exit (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F))

    Reset_Handler (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
    [Address Reference Count : 1]

    • startup_stm32f10x_md.o(RESET) @@ -315,27 +315,31 @@ Global Symbols
      [Called By]
      • >>   _main_scatterload
      -

      __scatterload_rt2 (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED) +

      __scatterload_rt2 (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED) -

      MyGPIO_Init (Thumb, 112 bytes, Stack size 8 bytes, driver_gpio.o(.text.MyGPIO_Init)) +

      MyGPIO_Init (Thumb, 144 bytes, Stack size 8 bytes, driver_gpio.o(.text.MyGPIO_Init))

      [Stack]

      • Max Depth = 8
      • Call Chain = MyGPIO_Init

      [Called By]
      • >>   main
      -

      MyGPIO_Toggle (Thumb, 14 bytes, Stack size 0 bytes, driver_gpio.o(.text.MyGPIO_Toggle)) +

      MyGPIO_Reset (Thumb, 10 bytes, Stack size 0 bytes, driver_gpio.o(.text.MyGPIO_Reset))

      [Called By]

      • >>   main
      -

      MyTimer_Base_Init (Thumb, 152 bytes, Stack size 0 bytes, driver_timer.o(.text.MyTimer_Base_Init)) +

      MyGPIO_Set (Thumb, 14 bytes, Stack size 0 bytes, driver_gpio.o(.text.MyGPIO_Set))

      [Called By]

      • >>   main
      -

      MyTimer_Base_Start (Thumb, 12 bytes, Stack size 0 bytes, driver_timer.o(.text.MyTimer_Base_Start)) +

      MyTimer_Init (Thumb, 152 bytes, Stack size 0 bytes, driver_timer.o(.text.MyTimer_Init))

      [Called By]

      • >>   main
      -

      MyTimer_Base_Stop (Thumb, 12 bytes, Stack size 0 bytes, driver_timer.o(.text.MyTimer_Base_Stop)) +

      MyTimer_Start (Thumb, 12 bytes, Stack size 0 bytes, driver_timer.o(.text.MyTimer_Start)) +

      [Called By]

      • >>   main +
      + +

      MyTimer_Stop (Thumb, 12 bytes, Stack size 0 bytes, driver_timer.o(.text.MyTimer_Stop))

      [Called By]

      • >>   main
      @@ -344,22 +348,23 @@ Global Symbols

    [Address Reference Count : 1]
    • startup_stm32f10x_md.o(.text)
    -

    main (Thumb, 110 bytes, Stack size 16 bytes, main.o(.text.main)) +

    main (Thumb, 162 bytes, Stack size 16 bytes, main.o(.text.main))

    [Stack]

    • Max Depth = 24
    • Call Chain = main ⇒ MyGPIO_Init
    -
    [Calls]
    • >>   MyTimer_Base_Stop -
    • >>   MyGPIO_Toggle -
    • >>   MyTimer_Base_Start -
    • >>   MyTimer_Base_Init +
      [Calls]
      • >>   MyGPIO_Reset +
      • >>   MyGPIO_Set +
      • >>   MyTimer_Stop +
      • >>   MyTimer_Start +
      • >>   MyTimer_Init
      • >>   MyGPIO_Init

      [Address Reference Count : 1]
      • entry9a.o(.ARM.Collect$$$$0000000B)
      -

      __scatterload_copy (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED) +

      __scatterload_copy (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED) -

      __scatterload_null (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED) +

      __scatterload_null (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED) -

      __scatterload_zeroinit (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED) +

      __scatterload_zeroinit (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)

      Local Symbols diff --git a/projet_1/Objects/tp_sim.lnp b/projet_1/Objects/tp_sim.lnp index 92e392e..d331d53 100644 --- a/projet_1/Objects/tp_sim.lnp +++ b/projet_1/Objects/tp_sim.lnp @@ -2,6 +2,7 @@ ".\objects\main.o" ".\objects\driver_gpio.o" ".\objects\driver_timer.o" +".\objects\driver_adc.o" ".\objects\startup_stm32f10x_md.o" ".\objects\system_stm32f10x.o" --library_type=microlib --ro-base 0x08000000 --entry 0x08000000 --rw-base 0x20000000 --entry Reset_Handler --first __Vectors --strict --summary_stderr --info summarysizes --map --load_addr_map_info --xref --callgraph --symbols diff --git a/projet_1/src/main.c b/projet_1/src/main.c index c117485..9c02eec 100644 --- a/projet_1/src/main.c +++ b/projet_1/src/main.c @@ -1,13 +1,9 @@ #include "stm32f10x.h" #include "Driver_GPIO.h" #include "Driver_Timer.h" +#include "Driver_ADC.h" -void delay() { - int i = 0; - for(i = 0; i < 1000000; i++); -} - - int main(void) { +int main(void) { // Configure la broche PA5 en sortie MyGPIO_Struct_TypeDef GPIO_InitStructure; @@ -22,15 +18,25 @@ void delay() { GPIO_InitStructure.GPIO = GPIOC; MyGPIO_Init(&GPIO_InitStructure); + // Configure la broche PC14 en entrée avec une résistance de pull-down + GPIO_InitStructure.GPIO_Pin = 14; + GPIO_InitStructure.GPIO_Conf = In_PullDown; + GPIO_InitStructure.GPIO = GPIOC; + MyGPIO_Init(&GPIO_InitStructure); + MyTimer_Struct_TypeDef Timer; Timer.Timer = TIM2; Timer.PSC = 7200; // Prescaler = 7200, donc chaque tick d'horloge prend 0,1ms (10 MHz) Timer.ARR = 5000; // Autoreload = 5000, donc le timer compte jusqu'à 5000, ce qui prend 500ms (0,1ms * 5000) - MyTimer_Base_Init(&Timer); // Initialise le Timer 2 + MyTimer_Init(&Timer); // Initialise le Timer 2 - + + // EXTended Interrupt controller + //RCC->APB2ENR |= RCC_APB2ENR_SYSCFGEN; // Active la clock pour pouvoir accéder à la config system + //AFIO->EXTICR1 &= ~(AFIO_EXTICR1_EXTI0_PC) + //AFIO_EXTICR while(1) { @@ -48,10 +54,17 @@ void delay() { */ - MyTimer_Base_Start(&Timer); // Démarre le Timer 2 - while (Timer.Timer->CNT != Timer.ARR - 1); // Attend que le compteur atteigne la valeur d'autoreload - MyGPIO_Toggle(GPIOA, 5); - MyTimer_Base_Stop(&Timer); // Arrête le Timer 2 + MyTimer_Start(&Timer); // Démarre le Timer 2 + while (Timer.Timer->CNT != Timer.ARR - 1); // Attend que le compteur atteigne la valeur d'autoreload + MyTimer_Stop(&Timer); // Arrête le Timer 2 + MyGPIO_Set(GPIOA, 5); + + MyTimer_Start(&Timer); // Démarre le Timer 2 + while (Timer.Timer->CNT != Timer.ARR - 1); // Attend que le compteur atteigne la valeur d'autoreload + MyTimer_Stop(&Timer); // Arrête le Timer 2 + + MyGPIO_Reset(GPIOA, 5); } } + diff --git a/projet_1/tp.uvguix.robin b/projet_1/tp.uvguix.robin index c4e4b7e..0bd5843 100644 --- a/projet_1/tp.uvguix.robin +++ b/projet_1/tp.uvguix.robin @@ -117,8 +117,8 @@ 0 - 894 - 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000700000000000000010000003C433A5C55736572735C726F62696E5C4F6E6544726976655C446F63756D656E74735C4465765C74705C70726F6A65745F315C7372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF5F433A5C55736572735C726F62696E5C4F6E6544726976655C446F63756D656E74735C4465765C74705C70726F6A65745F315C5254455C4465766963655C53544D33324631303352425C737461727475705F73746D3332663130785F6D642E730000000016737461727475705F73746D3332663130785F6D642E7300000000FFDC7800FFFFFFFF5B433A5C55736572735C726F62696E5C4F6E6544726976655C446F63756D656E74735C4465765C74705C70726F6A65745F315C5254455C4465766963655C53544D33324631303352425C73797374656D5F73746D3332663130782E63000000001273797374656D5F73746D3332663130782E6300000000BECEA100FFFFFFFF3E433A5C55736572735C726F62696E5C4F6E6544726976655C446F63756D656E74735C4465765C74705C647269766572735C4472697665725F4750494F2E68000000000D4472697665725F4750494F2E6800000000F0A0A100FFFFFFFF3E433A5C55736572735C726F62696E5C4F6E6544726976655C446F63756D656E74735C4465765C74705C647269766572735C4472697665725F4750494F2E63000000000D4472697665725F4750494F2E6300000000BCA8E100FFFFFFFF3F433A5C55736572735C726F62696E5C4F6E6544726976655C446F63756D656E74735C4465765C74705C647269766572735C4472697665725F54696D65722E63000000000E4472697665725F54696D65722E63000000009CC1B600FFFFFFFF3F433A5C55736572735C726F62696E5C4F6E6544726976655C446F63756D656E74735C4465765C74705C647269766572735C4472697665725F54696D65722E68000000000E4472697665725F54696D65722E6800000000F7B88600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000FA0000004A00000080070000AD020000 + 985 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000800000004000000010000003C433A5C55736572735C726F62696E5C4F6E6544726976655C446F63756D656E74735C4465765C74705C70726F6A65745F315C7372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF5F433A5C55736572735C726F62696E5C4F6E6544726976655C446F63756D656E74735C4465765C74705C70726F6A65745F315C5254455C4465766963655C53544D33324631303352425C737461727475705F73746D3332663130785F6D642E730000000016737461727475705F73746D3332663130785F6D642E7300000000FFDC7800FFFFFFFF5B433A5C55736572735C726F62696E5C4F6E6544726976655C446F63756D656E74735C4465765C74705C70726F6A65745F315C5254455C4465766963655C53544D33324631303352425C73797374656D5F73746D3332663130782E63000000001273797374656D5F73746D3332663130782E6300000000BECEA100FFFFFFFF3E433A5C55736572735C726F62696E5C4F6E6544726976655C446F63756D656E74735C4465765C74705C647269766572735C4472697665725F4750494F2E68000000000D4472697665725F4750494F2E6800000000F0A0A100FFFFFFFF3E433A5C55736572735C726F62696E5C4F6E6544726976655C446F63756D656E74735C4465765C74705C647269766572735C4472697665725F4750494F2E63000000000D4472697665725F4750494F2E6300000000BCA8E100FFFFFFFF3F433A5C55736572735C726F62696E5C4F6E6544726976655C446F63756D656E74735C4465765C74705C647269766572735C4472697665725F54696D65722E63000000000E4472697665725F54696D65722E63000000009CC1B600FFFFFFFF3F433A5C55736572735C726F62696E5C4F6E6544726976655C446F63756D656E74735C4465765C74705C647269766572735C4472697665725F54696D65722E68000000000E4472697665725F54696D65722E6800000000F7B88600FFFFFFFF3D433A5C55736572735C726F62696E5C4F6E6544726976655C446F63756D656E74735C4465765C74705C647269766572735C4472697665725F4144432E68000000000C4472697665725F4144432E6800000000D9ADC200FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000FA0000004A00000080070000AD020000 @@ -1828,8 +1828,8 @@ 59399 Build - 978 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000002001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500100000005626F617264960000000000000002000373696D05626F61726400000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + 976 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000002001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000373696D960000000000000002000373696D05626F61726400000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 583 @@ -3570,7 +3570,7 @@ Build 978 - 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000004001D000000000000000000000000000000000100000001000000018030800000000004001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000004006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000004000000000000000000000000000000000000010000000100000096000000030020500100000005626F617264960000000000000002000373696D05626F61726400000000000000000180EB880000000004002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000400230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000004005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000004001D000000000000000000000000000000000100000001000000018030800000000004001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000004006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000004000000000000000000000000000000000000010000000100000096000000030020500100000005626F617264960000000000000002000373696D05626F61726400000000000000000180EB880000000004002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000400230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000004005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 583 @@ -3586,7 +3586,7 @@ Debug 2362 - 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000004002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000004002800000000000000000000000000000000010000000100000001801B80000000000400290000000000000000000000000000000001000000010000000180E57F0000000004002A00000000000000000000000000000000010000000100000001801C800000000004002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000004002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000004002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000004002800000000000000000000000000000000010000000100000001801B80000000000400290000000000000000000000000000000001000000010000000180E57F0000000004002A00000000000000000000000000000000010000000100000001801C800000000004002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000004002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -3610,12 +3610,12 @@ 0 100 - 0 + 4 .\src\main.c 0 - 4 - 10 + 1 + 6 1 0 @@ -3650,8 +3650,8 @@ ..\drivers\Driver_GPIO.c 0 - 4 - 49 + 10 + 23 1 0 @@ -3674,6 +3674,15 @@ 0 + + ..\drivers\Driver_ADC.h + 7 + 1 + 10 + 1 + + 0 + diff --git a/projet_1/tp.uvoptx b/projet_1/tp.uvoptx index 7273a95..d61aa4d 100644 --- a/projet_1/tp.uvoptx +++ b/projet_1/tp.uvoptx @@ -75,7 +75,7 @@ 1 0 - 0 + 1 18 @@ -125,7 +125,7 @@ 0 DLGDARM - (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=799,96,1220,523,1)(121=-1,-1,-1,-1,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=1228,73,1822,824,1)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(234=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0) + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=60,88,594,449,0)(180=-1,-1,-1,-1,0)(120=799,96,1220,523,0)(121=75,104,496,531,0)(122=1230,203,1651,630,1)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=1228,73,1822,824,1)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(234=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0) 0 @@ -138,7 +138,24 @@ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000 -FP0($$Device:STM32F103RB$Flash\STM32F10x_128.FLM)) - + + + 0 + 0 + 22 + 1 +
      134218128
      + 0 + 0 + 0 + 0 + 0 + 1 + ..\drivers\Driver_GPIO.c + + \\tp_sim\../drivers/Driver_GPIO.c\22 +
      +
      0 @@ -245,7 +262,7 @@ 1 0 - 1 + 0 18 @@ -318,24 +335,7 @@ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000 -FP0($$Device:STM32F103RB$Flash\STM32F10x_128.FLM)) - - - 0 - 0 - 56 - 1 -
      134218768
      - 0 - 0 - 0 - 0 - 0 - 1 - .\src\main.c - - \\tp_sim\src/main.c\56 -
      -
      + 0 @@ -468,6 +468,30 @@ 0 0 + + 2 + 6 + 1 + 0 + 0 + 0 + ..\drivers\Driver_ADC.c + Driver_ADC.c + 0 + 0 + + + 2 + 7 + 5 + 0 + 0 + 0 + ..\drivers\Driver_ADC.h + Driver_ADC.h + 0 + 0 + diff --git a/projet_1/tp.uvprojx b/projet_1/tp.uvprojx index 4d8157a..57d2103 100644 --- a/projet_1/tp.uvprojx +++ b/projet_1/tp.uvprojx @@ -414,6 +414,16 @@ 5 ..\drivers\Driver_Timer.h + + Driver_ADC.c + 1 + ..\drivers\Driver_ADC.c + + + Driver_ADC.h + 5 + ..\drivers\Driver_ADC.h + @@ -832,6 +842,16 @@ 5 ..\drivers\Driver_Timer.h + + Driver_ADC.c + 1 + ..\drivers\Driver_ADC.c + + + Driver_ADC.h + 5 + ..\drivers\Driver_ADC.h +