diff --git a/P2_SETR2/.settings/language.settings.xml b/P2_SETR2/.settings/language.settings.xml
index 6d90b94..5d6c61d 100644
--- a/P2_SETR2/.settings/language.settings.xml
+++ b/P2_SETR2/.settings/language.settings.xml
@@ -5,7 +5,7 @@
-
+
@@ -16,7 +16,7 @@
-
+
diff --git a/P2_SETR2/Core/Inc/led_task.h b/P2_SETR2/Core/Inc/led_task.h
index 029ea04..960d480 100644
--- a/P2_SETR2/Core/Inc/led_task.h
+++ b/P2_SETR2/Core/Inc/led_task.h
@@ -21,11 +21,8 @@ typedef struct
} LED_Config;
void CreateLedTask();
-void LedToggleTask(void* pArgs);
-
-void LedAnimationTask(void* pArgs);
+void ButtonTask(void* pArgs);
void LedAnimationTask1(void* pArgs);
void LedAnimationTask2(void* pArgs);
void LedAnimationTask3(void* pArgs);
-
#endif /* INC_LED_TASK_H_ */
diff --git a/P2_SETR2/Core/Src/led_task.c b/P2_SETR2/Core/Src/led_task.c
index c25c4d2..1be176a 100644
--- a/P2_SETR2/Core/Src/led_task.c
+++ b/P2_SETR2/Core/Src/led_task.c
@@ -7,51 +7,27 @@
#include "led_task.h"
+TaskHandle_t hButtonTask;
+TaskHandle_t tH[3];
+
void CreateLedTask()
{
- /* EJERCICIOS 1/2/3
- LED_Config* cfg = pvPortMalloc(sizeof(LED_Config));
-
- if (cfg != NULL)
- {
- cfg->led = 0;
- cfg->delay = 200;
- }
-
xTaskCreate(
- LedToggleTask,
- "LedToggleTask_1",
- 128,
- (void*) cfg,
- 1,
- NULL
- );
- */
-
- /* EJERCICIO 4
- xTaskCreate(
- LedAnimationTask,
- "LedAnimationTask",
+ ButtonTask,
+ "ButtonTask",
128,
NULL,
1,
- NULL
+ &hButtonTask
);
- */
- /* EJERCICIO 5
- * - con la misma prioridad alternan continuamente entre ellas y son animaciones
- * sin sentido
- * - con prioridades distintas, visualmente y con un delay un poco más alto
- * podría parecer que se hacen una detrás de otra (en orden de prioridad)
- */
xTaskCreate(
LedAnimationTask1,
"LedAnimationTask1",
128,
NULL,
1,
- NULL
+ &tH[0]
);
xTaskCreate(
@@ -59,67 +35,28 @@ void CreateLedTask()
"LedAnimationTask2",
128,
NULL,
- 2,
- NULL
+ 1,
+ &tH[1]
+ );
+
+ xTaskCreate(
+ LedAnimationTask3,
+ "LedAnimationTask3",
+ 128,
+ NULL,
+ 1,
+ &tH[2]
);
}
-void LedToggleTask(void* pArgs)
-{
- LED_Config* cfg = (LED_Config*) pArgs;
- uint8_t counter = 5;
- for(;;)
- {
- if(cfg->led > 2)
- {
- cfg->led = 0;
- }
-
- while (counter > 0)
- {
- LED_Toggle(cfg->led);
- vTaskDelay(cfg->delay);
- counter--;
- }
-
- cfg->led++;
-
- xTaskCreate(
- LedToggleTask,
- "LedToggleTask_New",
- 128,
- (void*) cfg,
- 1,
- NULL
- );
-
- vTaskDelete(NULL);
- }
-}
-
-void LedAnimationTask(void* pArgs)
+void ButtonTask(void* pArgs)
{
for(;;)
{
- switch(ReadJoy())
- {
- case 0:
- // stand-by
- LED_Off(0);
- LED_Off(1);
- LED_Off(2);
- break;
- case 1:
- animation1();
- break;
- case 2:
- animation2();
- break;
- case 3:
- animation3();
- break;
- }
- vTaskDelay(50);
+ uint8_t key = ReadJoy();
+ if(key)
+ xTaskNotifyGive(tH[key - 1]);
+ vTaskDelay(100);
}
}
@@ -127,6 +64,7 @@ void LedAnimationTask1(void* pArgs)
{
for(;;)
{
+ ulTaskNotifyTake(pdTRUE, portMAX_DELAY);
int i;
for(i = 0; i < 3; i++)
{
@@ -147,6 +85,7 @@ void LedAnimationTask2(void* pArgs)
{
for(;;)
{
+ ulTaskNotifyTake(pdTRUE, portMAX_DELAY);
int i, j;
for(j = 0; j < 5; j++)
{
@@ -167,6 +106,7 @@ void LedAnimationTask3(void* pArgs)
{
for(;;)
{
+ ulTaskNotifyTake(pdTRUE, portMAX_DELAY);
int i;
for(i = 0; i < 3; i++)
{
@@ -180,3 +120,4 @@ void LedAnimationTask3(void* pArgs)
}
}
}
+
diff --git a/P2_SETR2/Debug/Core/Src/freertos.o b/P2_SETR2/Debug/Core/Src/freertos.o
index e54f17c..4f10af3 100644
Binary files a/P2_SETR2/Debug/Core/Src/freertos.o and b/P2_SETR2/Debug/Core/Src/freertos.o differ
diff --git a/P2_SETR2/Debug/Core/Src/joystick.o b/P2_SETR2/Debug/Core/Src/joystick.o
index 1dabe74..7293e51 100644
Binary files a/P2_SETR2/Debug/Core/Src/joystick.o and b/P2_SETR2/Debug/Core/Src/joystick.o differ
diff --git a/P2_SETR2/Debug/Core/Src/led_driver.o b/P2_SETR2/Debug/Core/Src/led_driver.o
index e86f692..bab8e6c 100644
Binary files a/P2_SETR2/Debug/Core/Src/led_driver.o and b/P2_SETR2/Debug/Core/Src/led_driver.o differ
diff --git a/P2_SETR2/Debug/Core/Src/led_task.cyclo b/P2_SETR2/Debug/Core/Src/led_task.cyclo
index 892c578..adcbfec 100644
--- a/P2_SETR2/Debug/Core/Src/led_task.cyclo
+++ b/P2_SETR2/Debug/Core/Src/led_task.cyclo
@@ -1,6 +1,5 @@
-../Core/Src/led_task.c:10:6:CreateLedTask 1
-../Core/Src/led_task.c:64:6:LedToggleTask 3
-../Core/Src/led_task.c:97:6:LedAnimationTask 5
-../Core/Src/led_task.c:123:6:LedAnimationTask1 3
-../Core/Src/led_task.c:143:6:LedAnimationTask2 4
-../Core/Src/led_task.c:163:6:LedAnimationTask3 3
+../Core/Src/led_task.c:13:6:CreateLedTask 1
+../Core/Src/led_task.c:52:6:ButtonTask 2
+../Core/Src/led_task.c:63:6:LedAnimationTask1 3
+../Core/Src/led_task.c:84:6:LedAnimationTask2 4
+../Core/Src/led_task.c:105:6:LedAnimationTask3 3
diff --git a/P2_SETR2/Debug/Core/Src/led_task.o b/P2_SETR2/Debug/Core/Src/led_task.o
index 2e27f6f..f363470 100644
Binary files a/P2_SETR2/Debug/Core/Src/led_task.o and b/P2_SETR2/Debug/Core/Src/led_task.o differ
diff --git a/P2_SETR2/Debug/Core/Src/led_task.su b/P2_SETR2/Debug/Core/Src/led_task.su
index e1fd467..2a11e79 100644
--- a/P2_SETR2/Debug/Core/Src/led_task.su
+++ b/P2_SETR2/Debug/Core/Src/led_task.su
@@ -1,6 +1,5 @@
-../Core/Src/led_task.c:10:6:CreateLedTask 16 static
-../Core/Src/led_task.c:64:6:LedToggleTask 32 static
-../Core/Src/led_task.c:97:6:LedAnimationTask 16 static
-../Core/Src/led_task.c:123:6:LedAnimationTask1 24 static
-../Core/Src/led_task.c:143:6:LedAnimationTask2 24 static
-../Core/Src/led_task.c:163:6:LedAnimationTask3 24 static
+../Core/Src/led_task.c:13:6:CreateLedTask 16 static
+../Core/Src/led_task.c:52:6:ButtonTask 24 static
+../Core/Src/led_task.c:63:6:LedAnimationTask1 24 static
+../Core/Src/led_task.c:84:6:LedAnimationTask2 24 static
+../Core/Src/led_task.c:105:6:LedAnimationTask3 24 static
diff --git a/P2_SETR2/Debug/Core/Src/main.o b/P2_SETR2/Debug/Core/Src/main.o
index 1f5a948..b2344fa 100644
Binary files a/P2_SETR2/Debug/Core/Src/main.o and b/P2_SETR2/Debug/Core/Src/main.o differ
diff --git a/P2_SETR2/Debug/Core/Src/stm32l4xx_hal_msp.o b/P2_SETR2/Debug/Core/Src/stm32l4xx_hal_msp.o
index cb6e54f..7df735a 100644
Binary files a/P2_SETR2/Debug/Core/Src/stm32l4xx_hal_msp.o and b/P2_SETR2/Debug/Core/Src/stm32l4xx_hal_msp.o differ
diff --git a/P2_SETR2/Debug/Core/Src/stm32l4xx_hal_timebase_tim.o b/P2_SETR2/Debug/Core/Src/stm32l4xx_hal_timebase_tim.o
index be098df..9ff8cd5 100644
Binary files a/P2_SETR2/Debug/Core/Src/stm32l4xx_hal_timebase_tim.o and b/P2_SETR2/Debug/Core/Src/stm32l4xx_hal_timebase_tim.o differ
diff --git a/P2_SETR2/Debug/Core/Src/stm32l4xx_it.o b/P2_SETR2/Debug/Core/Src/stm32l4xx_it.o
index 6f690f4..1339a81 100644
Binary files a/P2_SETR2/Debug/Core/Src/stm32l4xx_it.o and b/P2_SETR2/Debug/Core/Src/stm32l4xx_it.o differ
diff --git a/P2_SETR2/Debug/Core/Src/syscalls.o b/P2_SETR2/Debug/Core/Src/syscalls.o
index 00f07d0..e01f530 100644
Binary files a/P2_SETR2/Debug/Core/Src/syscalls.o and b/P2_SETR2/Debug/Core/Src/syscalls.o differ
diff --git a/P2_SETR2/Debug/Core/Src/sysmem.o b/P2_SETR2/Debug/Core/Src/sysmem.o
index e497053..c6df1e4 100644
Binary files a/P2_SETR2/Debug/Core/Src/sysmem.o and b/P2_SETR2/Debug/Core/Src/sysmem.o differ
diff --git a/P2_SETR2/Debug/Core/Src/system_stm32l4xx.o b/P2_SETR2/Debug/Core/Src/system_stm32l4xx.o
index 74a2363..a3295e7 100644
Binary files a/P2_SETR2/Debug/Core/Src/system_stm32l4xx.o and b/P2_SETR2/Debug/Core/Src/system_stm32l4xx.o differ
diff --git a/P2_SETR2/Debug/Core/Startup/startup_stm32l475vgtx.o b/P2_SETR2/Debug/Core/Startup/startup_stm32l475vgtx.o
index 37305c5..a00edb1 100644
Binary files a/P2_SETR2/Debug/Core/Startup/startup_stm32l475vgtx.o and b/P2_SETR2/Debug/Core/Startup/startup_stm32l475vgtx.o differ
diff --git a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o
index 27ab2f8..0dfeb99 100644
Binary files a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o and b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.o differ
diff --git a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o
index 843242d..054d385 100644
Binary files a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o and b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.o differ
diff --git a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dfsdm.o b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dfsdm.o
index 0151fc4..a609747 100644
Binary files a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dfsdm.o and b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dfsdm.o differ
diff --git a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.o b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.o
index 68b00bb..298fc3f 100644
Binary files a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.o and b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.o differ
diff --git a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.o b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.o
index 45532fd..855d110 100644
Binary files a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.o and b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.o differ
diff --git a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.o b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.o
index 41d9f79..b5ab367 100644
Binary files a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.o and b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_exti.o differ
diff --git a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.o b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.o
index 14701f1..b1f1fba 100644
Binary files a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.o and b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.o differ
diff --git a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.o b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.o
index 2c1980e..56d5439 100644
Binary files a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.o and b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.o differ
diff --git a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.o b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.o
index 3bb00ec..4d519fc 100644
Binary files a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.o and b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.o differ
diff --git a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.o b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.o
index d96b0e6..28cf606 100644
Binary files a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.o and b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.o differ
diff --git a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.o b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.o
index e393797..9ebfbf3 100644
Binary files a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.o and b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.o differ
diff --git a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.o b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.o
index 576c4d3..1744dc8 100644
Binary files a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.o and b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.o differ
diff --git a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pcd.o b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pcd.o
index a55f3ab..8f3d0e6 100644
Binary files a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pcd.o and b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pcd.o differ
diff --git a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pcd_ex.o b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pcd_ex.o
index 04a64c7..d87d380 100644
Binary files a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pcd_ex.o and b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pcd_ex.o differ
diff --git a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.o b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.o
index 2ba052f..995808a 100644
Binary files a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.o and b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.o differ
diff --git a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.o b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.o
index b428e98..3effdd7 100644
Binary files a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.o and b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.o differ
diff --git a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_qspi.o b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_qspi.o
index 684caec..688e680 100644
Binary files a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_qspi.o and b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_qspi.o differ
diff --git a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.o b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.o
index 80e65e5..e22dd54 100644
Binary files a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.o and b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.o differ
diff --git a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.o b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.o
index 018d286..4ee3cc2 100644
Binary files a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.o and b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.o differ
diff --git a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.o b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.o
index cc1fa84..6741f4c 100644
Binary files a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.o and b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.o differ
diff --git a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.o b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.o
index 0574d40..6195088 100644
Binary files a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.o and b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.o differ
diff --git a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.o b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.o
index d41e966..743a3a0 100644
Binary files a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.o and b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.o differ
diff --git a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.o b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.o
index c35f781..97873c0 100644
Binary files a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.o and b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.o differ
diff --git a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.o b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.o
index 96c92ba..d3b2798 100644
Binary files a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.o and b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.o differ
diff --git a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.o b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.o
index 81f91bc..7f9301a 100644
Binary files a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.o and b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.o differ
diff --git a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_usb.o b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_usb.o
index 66cef3c..341061a 100644
Binary files a/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_usb.o and b/P2_SETR2/Debug/Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_usb.o differ
diff --git a/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o b/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o
index 6267f44..b8e88ec 100644
Binary files a/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o and b/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os2.o differ
diff --git a/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/croutine.o b/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/croutine.o
index fcbdac4..441b69b 100644
Binary files a/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/croutine.o and b/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/croutine.o differ
diff --git a/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/event_groups.o b/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/event_groups.o
index 1f3348c..10e1b03 100644
Binary files a/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/event_groups.o and b/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/event_groups.o differ
diff --git a/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/list.o b/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/list.o
index 7a17310..bd92117 100644
Binary files a/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/list.o and b/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/list.o differ
diff --git a/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o b/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o
index 70287df..69461f1 100644
Binary files a/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o and b/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.o differ
diff --git a/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o b/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o
index f2906df..7d19226 100644
Binary files a/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o and b/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_4.o differ
diff --git a/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/queue.o b/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/queue.o
index 60a979b..c47cc38 100644
Binary files a/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/queue.o and b/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/queue.o differ
diff --git a/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o b/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o
index 2f4fffb..d8ad40a 100644
Binary files a/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o and b/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/stream_buffer.o differ
diff --git a/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/tasks.o b/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/tasks.o
index e0122a6..b0692a5 100644
Binary files a/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/tasks.o and b/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/tasks.o differ
diff --git a/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/timers.o b/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/timers.o
index de2b2f7..fffeb2d 100644
Binary files a/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/timers.o and b/P2_SETR2/Debug/Middlewares/Third_Party/FreeRTOS/Source/timers.o differ
diff --git a/P2_SETR2/Debug/P2_SETR2.elf b/P2_SETR2/Debug/P2_SETR2.elf
index 61c643b..a2d4b4e 100755
Binary files a/P2_SETR2/Debug/P2_SETR2.elf and b/P2_SETR2/Debug/P2_SETR2.elf differ
diff --git a/P2_SETR2/Debug/P2_SETR2.list b/P2_SETR2/Debug/P2_SETR2.list
index 2038352..fc936de 100644
--- a/P2_SETR2/Debug/P2_SETR2.list
+++ b/P2_SETR2/Debug/P2_SETR2.list
@@ -5,47 +5,47 @@ Sections:
Idx Name Size VMA LMA File off Algn
0 .isr_vector 00000188 08000000 08000000 00001000 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
- 1 .text 00007c70 08000190 08000190 00001190 2**4
+ 1 .text 00008010 08000190 08000190 00001190 2**4
CONTENTS, ALLOC, LOAD, READONLY, CODE
- 2 .rodata 0000009c 08007e00 08007e00 00008e00 2**2
+ 2 .rodata 000000a8 080081a0 080081a0 000091a0 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
- 3 .ARM.extab 00000000 08007e9c 08007e9c 00009060 2**0
+ 3 .ARM.extab 00000000 08008248 08008248 0000a064 2**0
CONTENTS, READONLY
- 4 .ARM 00000008 08007e9c 08007e9c 00008e9c 2**2
+ 4 .ARM 00000008 08008248 08008248 00009248 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
- 5 .preinit_array 00000000 08007ea4 08007ea4 00009060 2**0
+ 5 .preinit_array 00000000 08008250 08008250 0000a064 2**0
CONTENTS, ALLOC, LOAD, DATA
- 6 .init_array 00000004 08007ea4 08007ea4 00008ea4 2**2
+ 6 .init_array 00000004 08008250 08008250 00009250 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
- 7 .fini_array 00000004 08007ea8 08007ea8 00008ea8 2**2
+ 7 .fini_array 00000004 08008254 08008254 00009254 2**2
CONTENTS, ALLOC, LOAD, READONLY, DATA
- 8 .data 00000060 20000000 08007eac 00009000 2**2
+ 8 .data 00000064 20000000 08008258 0000a000 2**2
CONTENTS, ALLOC, LOAD, DATA
- 9 .bss 00008c14 20000060 08007f0c 00009060 2**2
+ 9 .bss 00008c28 20000064 080082bc 0000a064 2**2
ALLOC
- 10 ._user_heap_stack 00000604 20008c74 08007f0c 00009c74 2**0
+ 10 ._user_heap_stack 00000604 20008c8c 080082bc 0000ac8c 2**0
ALLOC
- 11 .ARM.attributes 00000030 00000000 00000000 00009060 2**0
+ 11 .ARM.attributes 00000030 00000000 00000000 0000a064 2**0
CONTENTS, READONLY
- 12 .debug_info 00027e3a 00000000 00000000 00009090 2**0
+ 12 .debug_info 0002805f 00000000 00000000 0000a094 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 13 .debug_abbrev 00004e68 00000000 00000000 00030eca 2**0
+ 13 .debug_abbrev 00004f6d 00000000 00000000 000320f3 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 14 .debug_aranges 00002398 00000000 00000000 00035d38 2**3
+ 14 .debug_aranges 000023b0 00000000 00000000 00037060 2**3
CONTENTS, READONLY, DEBUGGING, OCTETS
- 15 .debug_rnglists 00001bbb 00000000 00000000 000380d0 2**0
+ 15 .debug_rnglists 00001bc9 00000000 00000000 00039410 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 16 .debug_macro 000052ec 00000000 00000000 00039c8b 2**0
+ 16 .debug_macro 00005578 00000000 00000000 0003afd9 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 17 .debug_line 0002742f 00000000 00000000 0003ef77 2**0
+ 17 .debug_line 00027b85 00000000 00000000 00040551 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 18 .debug_str 001086eb 00000000 00000000 000663a6 2**0
+ 18 .debug_str 00108711 00000000 00000000 000680d6 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
- 19 .comment 00000043 00000000 00000000 0016ea91 2**0
+ 19 .comment 00000043 00000000 00000000 001707e7 2**0
CONTENTS, READONLY
- 20 .debug_frame 00009c48 00000000 00000000 0016ead4 2**2
+ 20 .debug_frame 00009c5c 00000000 00000000 0017082c 2**2
CONTENTS, READONLY, DEBUGGING, OCTETS
- 21 .debug_line_str 00000056 00000000 00000000 0017871c 2**0
+ 21 .debug_line_str 0000005f 00000000 00000000 0017a488 2**0
CONTENTS, READONLY, DEBUGGING, OCTETS
Disassembly of section .text:
@@ -62,9 +62,9 @@ Disassembly of section .text:
80001a2: 2301 movs r3, #1
80001a4: 7023 strb r3, [r4, #0]
80001a6: bd10 pop {r4, pc}
- 80001a8: 20000060 .word 0x20000060
+ 80001a8: 20000064 .word 0x20000064
80001ac: 00000000 .word 0x00000000
- 80001b0: 08007de8 .word 0x08007de8
+ 80001b0: 08008188 .word 0x08008188
080001b4 :
80001b4: b508 push {r3, lr}
@@ -75,8 +75,8 @@ Disassembly of section .text:
80001be: f3af 8000 nop.w
80001c2: bd08 pop {r3, pc}
80001c4: 00000000 .word 0x00000000
- 80001c8: 20000064 .word 0x20000064
- 80001cc: 08007de8 .word 0x08007de8
+ 80001c8: 20000068 .word 0x20000068
+ 80001cc: 08008188 .word 0x08008188
080001d0 <__aeabi_uldivmod>:
80001d0: b953 cbnz r3, 80001e8 <__aeabi_uldivmod+0x18>
@@ -369,21879 +369,22499 @@ Disassembly of section .text:
80004f8: 4770 bx lr
80004fa: bf00 nop
-080004fc :
+080004fc :
+
+static uint8_t previous_state = GPIO_PIN_SET;
+static uint8_t virtual_button = 0;
+
+uint8_t ReadJoy(void)
+{
+ 80004fc: b580 push {r7, lr}
+ 80004fe: b082 sub sp, #8
+ 8000500: af00 add r7, sp, #0
+ GPIO_PinState current_state = HAL_GPIO_ReadPin(GPIOC, GPIO_PIN_13);
+ 8000502: f44f 5100 mov.w r1, #8192 @ 0x2000
+ 8000506: 4813 ldr r0, [pc, #76] @ (8000554 )
+ 8000508: f001 fccc bl 8001ea4
+ 800050c: 4603 mov r3, r0
+ 800050e: 71fb strb r3, [r7, #7]
+
+ if (previous_state == GPIO_PIN_SET && current_state == GPIO_PIN_RESET)
+ 8000510: 4b11 ldr r3, [pc, #68] @ (8000558 )
+ 8000512: 781b ldrb r3, [r3, #0]
+ 8000514: 2b01 cmp r3, #1
+ 8000516: d10f bne.n 8000538
+ 8000518: 79fb ldrb r3, [r7, #7]
+ 800051a: 2b00 cmp r3, #0
+ 800051c: d10c bne.n 8000538
+ {
+ virtual_button++;
+ 800051e: 4b0f ldr r3, [pc, #60] @ (800055c )
+ 8000520: 781b ldrb r3, [r3, #0]
+ 8000522: 3301 adds r3, #1
+ 8000524: b2da uxtb r2, r3
+ 8000526: 4b0d ldr r3, [pc, #52] @ (800055c )
+ 8000528: 701a strb r2, [r3, #0]
+ if (virtual_button > 4) virtual_button = 1;
+ 800052a: 4b0c ldr r3, [pc, #48] @ (800055c )
+ 800052c: 781b ldrb r3, [r3, #0]
+ 800052e: 2b04 cmp r3, #4
+ 8000530: d902 bls.n 8000538
+ 8000532: 4b0a ldr r3, [pc, #40] @ (800055c )
+ 8000534: 2201 movs r2, #1
+ 8000536: 701a strb r2, [r3, #0]
+ }
+
+ previous_state = current_state;
+ 8000538: 4a07 ldr r2, [pc, #28] @ (8000558 )
+ 800053a: 79fb ldrb r3, [r7, #7]
+ 800053c: 7013 strb r3, [r2, #0]
+
+ if (current_state == GPIO_PIN_RESET) return virtual_button;
+ 800053e: 79fb ldrb r3, [r7, #7]
+ 8000540: 2b00 cmp r3, #0
+ 8000542: d102 bne.n 800054a
+ 8000544: 4b05 ldr r3, [pc, #20] @ (800055c )
+ 8000546: 781b ldrb r3, [r3, #0]
+ 8000548: e000 b.n 800054c
+ else return 0;
+ 800054a: 2300 movs r3, #0
+}
+ 800054c: 4618 mov r0, r3
+ 800054e: 3708 adds r7, #8
+ 8000550: 46bd mov sp, r7
+ 8000552: bd80 pop {r7, pc}
+ 8000554: 48000800 .word 0x48000800
+ 8000558: 20000000 .word 0x20000000
+ 800055c: 20000080 .word 0x20000080
+
+08000560 :
*/
#include "led_driver.h"
void LED_On(uint8_t led)
{
- 80004fc: b580 push {r7, lr}
- 80004fe: b082 sub sp, #8
- 8000500: af00 add r7, sp, #0
- 8000502: 4603 mov r3, r0
- 8000504: 71fb strb r3, [r7, #7]
+ 8000560: b580 push {r7, lr}
+ 8000562: b082 sub sp, #8
+ 8000564: af00 add r7, sp, #0
+ 8000566: 4603 mov r3, r0
+ 8000568: 71fb strb r3, [r7, #7]
switch(led)
- 8000506: 79fb ldrb r3, [r7, #7]
- 8000508: 2b02 cmp r3, #2
- 800050a: d014 beq.n 8000536
- 800050c: 2b02 cmp r3, #2
- 800050e: dc19 bgt.n 8000544
- 8000510: 2b00 cmp r3, #0
- 8000512: d002 beq.n 800051a
- 8000514: 2b01 cmp r3, #1
- 8000516: d007 beq.n 8000528
+ 800056a: 79fb ldrb r3, [r7, #7]
+ 800056c: 2b02 cmp r3, #2
+ 800056e: d014 beq.n 800059a
+ 8000570: 2b02 cmp r3, #2
+ 8000572: dc19 bgt.n 80005a8
+ 8000574: 2b00 cmp r3, #0
+ 8000576: d002 beq.n 800057e
+ 8000578: 2b01 cmp r3, #1
+ 800057a: d007 beq.n 800058c
break;
case 2:
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_9, GPIO_PIN_SET);
break;
}
}
- 8000518: e014 b.n 8000544
+ 800057c: e014 b.n 80005a8
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET);
- 800051a: 2201 movs r2, #1
- 800051c: 2120 movs r1, #32
- 800051e: f04f 4090 mov.w r0, #1207959552 @ 0x48000000
- 8000522: f001 fc17 bl 8001d54
+ 800057e: 2201 movs r2, #1
+ 8000580: 2120 movs r1, #32
+ 8000582: f04f 4090 mov.w r0, #1207959552 @ 0x48000000
+ 8000586: f001 fca5 bl 8001ed4
break;
- 8000526: e00d b.n 8000544
+ 800058a: e00d b.n 80005a8
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_14, GPIO_PIN_SET);
- 8000528: 2201 movs r2, #1
- 800052a: f44f 4180 mov.w r1, #16384 @ 0x4000
- 800052e: 4807 ldr r0, [pc, #28] @ (800054c )
- 8000530: f001 fc10 bl 8001d54
+ 800058c: 2201 movs r2, #1
+ 800058e: f44f 4180 mov.w r1, #16384 @ 0x4000
+ 8000592: 4807 ldr r0, [pc, #28] @ (80005b0 )
+ 8000594: f001 fc9e bl 8001ed4
break;
- 8000534: e006 b.n 8000544
+ 8000598: e006 b.n 80005a8
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_9, GPIO_PIN_SET);
- 8000536: 2201 movs r2, #1
- 8000538: f44f 7100 mov.w r1, #512 @ 0x200
- 800053c: 4804 ldr r0, [pc, #16] @ (8000550 )
- 800053e: f001 fc09 bl 8001d54
+ 800059a: 2201 movs r2, #1
+ 800059c: f44f 7100 mov.w r1, #512 @ 0x200
+ 80005a0: 4804 ldr r0, [pc, #16] @ (80005b4 )
+ 80005a2: f001 fc97 bl 8001ed4
break;
- 8000542: bf00 nop
+ 80005a6: bf00 nop
}
- 8000544: bf00 nop
- 8000546: 3708 adds r7, #8
- 8000548: 46bd mov sp, r7
- 800054a: bd80 pop {r7, pc}
- 800054c: 48000400 .word 0x48000400
- 8000550: 48000800 .word 0x48000800
+ 80005a8: bf00 nop
+ 80005aa: 3708 adds r7, #8
+ 80005ac: 46bd mov sp, r7
+ 80005ae: bd80 pop {r7, pc}
+ 80005b0: 48000400 .word 0x48000400
+ 80005b4: 48000800 .word 0x48000800
-08000554 :
+080005b8 :
void LED_Off(uint8_t led)
{
- 8000554: b580 push {r7, lr}
- 8000556: b082 sub sp, #8
- 8000558: af00 add r7, sp, #0
- 800055a: 4603 mov r3, r0
- 800055c: 71fb strb r3, [r7, #7]
+ 80005b8: b580 push {r7, lr}
+ 80005ba: b082 sub sp, #8
+ 80005bc: af00 add r7, sp, #0
+ 80005be: 4603 mov r3, r0
+ 80005c0: 71fb strb r3, [r7, #7]
switch(led)
- 800055e: 79fb ldrb r3, [r7, #7]
- 8000560: 2b02 cmp r3, #2
- 8000562: d014 beq.n 800058e
- 8000564: 2b02 cmp r3, #2
- 8000566: dc19 bgt.n 800059c
- 8000568: 2b00 cmp r3, #0
- 800056a: d002 beq.n 8000572
- 800056c: 2b01 cmp r3, #1
- 800056e: d007 beq.n 8000580
+ 80005c2: 79fb ldrb r3, [r7, #7]
+ 80005c4: 2b02 cmp r3, #2
+ 80005c6: d014 beq.n 80005f2
+ 80005c8: 2b02 cmp r3, #2
+ 80005ca: dc19 bgt.n 8000600
+ 80005cc: 2b00 cmp r3, #0
+ 80005ce: d002 beq.n 80005d6
+ 80005d0: 2b01 cmp r3, #1
+ 80005d2: d007 beq.n 80005e4
break;
case 2:
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_9, GPIO_PIN_RESET);
break;
}
}
- 8000570: e014 b.n 800059c
+ 80005d4: e014 b.n 8000600
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET);
- 8000572: 2200 movs r2, #0
- 8000574: 2120 movs r1, #32
- 8000576: f04f 4090 mov.w r0, #1207959552 @ 0x48000000
- 800057a: f001 fbeb bl 8001d54
+ 80005d6: 2200 movs r2, #0
+ 80005d8: 2120 movs r1, #32
+ 80005da: f04f 4090 mov.w r0, #1207959552 @ 0x48000000
+ 80005de: f001 fc79 bl 8001ed4
break;
- 800057e: e00d b.n 800059c
+ 80005e2: e00d b.n 8000600
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_14, GPIO_PIN_RESET);
- 8000580: 2200 movs r2, #0
- 8000582: f44f 4180 mov.w r1, #16384 @ 0x4000
- 8000586: 4807 ldr r0, [pc, #28] @ (80005a4 )
- 8000588: f001 fbe4 bl 8001d54
+ 80005e4: 2200 movs r2, #0
+ 80005e6: f44f 4180 mov.w r1, #16384 @ 0x4000
+ 80005ea: 4807 ldr r0, [pc, #28] @ (8000608 )
+ 80005ec: f001 fc72 bl 8001ed4
break;
- 800058c: e006 b.n 800059c
+ 80005f0: e006 b.n 8000600
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_9, GPIO_PIN_RESET);
- 800058e: 2200 movs r2, #0
- 8000590: f44f 7100 mov.w r1, #512 @ 0x200
- 8000594: 4804 ldr r0, [pc, #16] @ (80005a8 )
- 8000596: f001 fbdd bl 8001d54
+ 80005f2: 2200 movs r2, #0
+ 80005f4: f44f 7100 mov.w r1, #512 @ 0x200
+ 80005f8: 4804 ldr r0, [pc, #16] @ (800060c )
+ 80005fa: f001 fc6b bl 8001ed4
break;
- 800059a: bf00 nop
+ 80005fe: bf00 nop
}
- 800059c: bf00 nop
- 800059e: 3708 adds r7, #8
- 80005a0: 46bd mov sp, r7
- 80005a2: bd80 pop {r7, pc}
- 80005a4: 48000400 .word 0x48000400
- 80005a8: 48000800 .word 0x48000800
+ 8000600: bf00 nop
+ 8000602: 3708 adds r7, #8
+ 8000604: 46bd mov sp, r7
+ 8000606: bd80 pop {r7, pc}
+ 8000608: 48000400 .word 0x48000400
+ 800060c: 48000800 .word 0x48000800
-080005ac :
- */
+08000610 :
-#include "led_task.h"
+TaskHandle_t hButtonTask;
+TaskHandle_t tH[3];
void CreateLedTask()
{
- 80005ac: b580 push {r7, lr}
- 80005ae: b082 sub sp, #8
- 80005b0: af02 add r7, sp, #8
- */
-
- /* EJERCICIO 5
- * - con la misma prioridad no tienen sentido las animaciones, "se vuelve loco"
- */
+ 8000610: b580 push {r7, lr}
+ 8000612: b082 sub sp, #8
+ 8000614: af02 add r7, sp, #8
xTaskCreate(
- 80005b2: 2300 movs r3, #0
- 80005b4: 9301 str r3, [sp, #4]
- 80005b6: 2301 movs r3, #1
- 80005b8: 9300 str r3, [sp, #0]
- 80005ba: 2300 movs r3, #0
- 80005bc: 2280 movs r2, #128 @ 0x80
- 80005be: 4908 ldr r1, [pc, #32] @ (80005e0 )
- 80005c0: 4808 ldr r0, [pc, #32] @ (80005e4 )
- 80005c2: f005 fcab bl 8005f1c
+ 8000616: 4b15 ldr r3, [pc, #84] @ (800066c )
+ 8000618: 9301 str r3, [sp, #4]
+ 800061a: 2301 movs r3, #1
+ 800061c: 9300 str r3, [sp, #0]
+ 800061e: 2300 movs r3, #0
+ 8000620: 2280 movs r2, #128 @ 0x80
+ 8000622: 4913 ldr r1, [pc, #76] @ (8000670 )
+ 8000624: 4813 ldr r0, [pc, #76] @ (8000674 )
+ 8000626: f005 fd39 bl 800609c
NULL,
1,
- NULL
+ &hButtonTask
);
xTaskCreate(
- 80005c6: 2300 movs r3, #0
- 80005c8: 9301 str r3, [sp, #4]
- 80005ca: 2302 movs r3, #2
- 80005cc: 9300 str r3, [sp, #0]
- 80005ce: 2300 movs r3, #0
- 80005d0: 2280 movs r2, #128 @ 0x80
- 80005d2: 4905 ldr r1, [pc, #20] @ (80005e8 )
- 80005d4: 4805 ldr r0, [pc, #20] @ (80005ec )
- 80005d6: f005 fca1 bl 8005f1c
+ 800062a: 4b13 ldr r3, [pc, #76] @ (8000678 )
+ 800062c: 9301 str r3, [sp, #4]
+ 800062e: 2301 movs r3, #1
+ 8000630: 9300 str r3, [sp, #0]
+ 8000632: 2300 movs r3, #0
+ 8000634: 2280 movs r2, #128 @ 0x80
+ 8000636: 4911 ldr r1, [pc, #68] @ (800067c )
+ 8000638: 4811 ldr r0, [pc, #68] @ (8000680 )
+ 800063a: f005 fd2f bl 800609c
+ NULL,
+ 1,
+ &tH[0]
+ );
+
+ xTaskCreate(
+ 800063e: 4b11 ldr r3, [pc, #68] @ (8000684 )
+ 8000640: 9301 str r3, [sp, #4]
+ 8000642: 2301 movs r3, #1
+ 8000644: 9300 str r3, [sp, #0]
+ 8000646: 2300 movs r3, #0
+ 8000648: 2280 movs r2, #128 @ 0x80
+ 800064a: 490f ldr r1, [pc, #60] @ (8000688 )
+ 800064c: 480f ldr r0, [pc, #60] @ (800068c )
+ 800064e: f005 fd25 bl 800609c
+ NULL,
+ 1,
+ &tH[1]
+ );
+
+ xTaskCreate(
+ 8000652: 4b0f ldr r3, [pc, #60] @ (8000690 )
+ 8000654: 9301 str r3, [sp, #4]
+ 8000656: 2301 movs r3, #1
+ 8000658: 9300 str r3, [sp, #0]
+ 800065a: 2300 movs r3, #0
+ 800065c: 2280 movs r2, #128 @ 0x80
+ 800065e: 490d ldr r1, [pc, #52] @ (8000694 )
+ 8000660: 480d ldr r0, [pc, #52] @ (8000698 )
+ 8000662: f005 fd1b bl 800609c
128,
NULL,
- 2,
- NULL
+ 1,
+ &tH[2]
);
}
- 80005da: bf00 nop
- 80005dc: 46bd mov sp, r7
- 80005de: bd80 pop {r7, pc}
- 80005e0: 08007e00 .word 0x08007e00
- 80005e4: 080005f1 .word 0x080005f1
- 80005e8: 08007e14 .word 0x08007e14
- 80005ec: 08000653 .word 0x08000653
+ 8000666: bf00 nop
+ 8000668: 46bd mov sp, r7
+ 800066a: bd80 pop {r7, pc}
+ 800066c: 20000084 .word 0x20000084
+ 8000670: 080081a0 .word 0x080081a0
+ 8000674: 0800069d .word 0x0800069d
+ 8000678: 20000088 .word 0x20000088
+ 800067c: 080081ac .word 0x080081ac
+ 8000680: 080006d5 .word 0x080006d5
+ 8000684: 2000008c .word 0x2000008c
+ 8000688: 080081c0 .word 0x080081c0
+ 800068c: 08000741 .word 0x08000741
+ 8000690: 20000090 .word 0x20000090
+ 8000694: 080081d4 .word 0x080081d4
+ 8000698: 080007ab .word 0x080007ab
-080005f0 :
- vTaskDelay(50);
+0800069c :
+
+void ButtonTask(void* pArgs)
+{
+ 800069c: b580 push {r7, lr}
+ 800069e: b084 sub sp, #16
+ 80006a0: af00 add r7, sp, #0
+ 80006a2: 6078 str r0, [r7, #4]
+ for(;;)
+ {
+ uint8_t key = ReadJoy();
+ 80006a4: f7ff ff2a bl 80004fc
+ 80006a8: 4603 mov r3, r0
+ 80006aa: 73fb strb r3, [r7, #15]
+ if(key)
+ 80006ac: 7bfb ldrb r3, [r7, #15]
+ 80006ae: 2b00 cmp r3, #0
+ 80006b0: d009 beq.n 80006c6
+ xTaskNotifyGive(tH[key - 1]);
+ 80006b2: 7bfb ldrb r3, [r7, #15]
+ 80006b4: 3b01 subs r3, #1
+ 80006b6: 4a06 ldr r2, [pc, #24] @ (80006d0 )
+ 80006b8: f852 0023 ldr.w r0, [r2, r3, lsl #2]
+ 80006bc: 2300 movs r3, #0
+ 80006be: 2202 movs r2, #2
+ 80006c0: 2100 movs r1, #0
+ 80006c2: f006 fbbd bl 8006e40
+ vTaskDelay(100);
+ 80006c6: 2064 movs r0, #100 @ 0x64
+ 80006c8: f005 fe46 bl 8006358
+ {
+ 80006cc: e7ea b.n 80006a4
+ 80006ce: bf00 nop
+ 80006d0: 20000088 .word 0x20000088
+
+080006d4 :
}
}
void LedAnimationTask1(void* pArgs)
{
- 80005f0: b580 push {r7, lr}
- 80005f2: b084 sub sp, #16
- 80005f4: af00 add r7, sp, #0
- 80005f6: 6078 str r0, [r7, #4]
+ 80006d4: b580 push {r7, lr}
+ 80006d6: b084 sub sp, #16
+ 80006d8: af00 add r7, sp, #0
+ 80006da: 6078 str r0, [r7, #4]
for(;;)
{
+ ulTaskNotifyTake(pdTRUE, portMAX_DELAY);
+ 80006dc: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff
+ 80006e0: 2001 movs r0, #1
+ 80006e2: f006 fb61 bl 8006da8
int i;
for(i = 0; i < 3; i++)
- 80005f8: 2300 movs r3, #0
- 80005fa: 60fb str r3, [r7, #12]
- 80005fc: e00f b.n 800061e
+ 80006e6: 2300 movs r3, #0
+ 80006e8: 60fb str r3, [r7, #12]
+ 80006ea: e00f b.n 800070c
{
LED_On(i);
- 80005fe: 68fb ldr r3, [r7, #12]
- 8000600: b2db uxtb r3, r3
- 8000602: 4618 mov r0, r3
- 8000604: f7ff ff7a bl 80004fc
+ 80006ec: 68fb ldr r3, [r7, #12]
+ 80006ee: b2db uxtb r3, r3
+ 80006f0: 4618 mov r0, r3
+ 80006f2: f7ff ff35 bl 8000560
vTaskDelay(150);
- 8000608: 2096 movs r0, #150 @ 0x96
- 800060a: f005 fde5 bl 80061d8
+ 80006f6: 2096 movs r0, #150 @ 0x96
+ 80006f8: f005 fe2e bl 8006358
LED_Off(i);
- 800060e: 68fb ldr r3, [r7, #12]
- 8000610: b2db uxtb r3, r3
- 8000612: 4618 mov r0, r3
- 8000614: f7ff ff9e bl 8000554
+ 80006fc: 68fb ldr r3, [r7, #12]
+ 80006fe: b2db uxtb r3, r3
+ 8000700: 4618 mov r0, r3
+ 8000702: f7ff ff59 bl 80005b8
for(i = 0; i < 3; i++)
- 8000618: 68fb ldr r3, [r7, #12]
- 800061a: 3301 adds r3, #1
- 800061c: 60fb str r3, [r7, #12]
- 800061e: 68fb ldr r3, [r7, #12]
- 8000620: 2b02 cmp r3, #2
- 8000622: ddec ble.n 80005fe
+ 8000706: 68fb ldr r3, [r7, #12]
+ 8000708: 3301 adds r3, #1
+ 800070a: 60fb str r3, [r7, #12]
+ 800070c: 68fb ldr r3, [r7, #12]
+ 800070e: 2b02 cmp r3, #2
+ 8000710: ddec ble.n 80006ec
}
for(i = 1; i > 0; i--)
- 8000624: 2301 movs r3, #1
- 8000626: 60fb str r3, [r7, #12]
- 8000628: e00f b.n 800064a
+ 8000712: 2301 movs r3, #1
+ 8000714: 60fb str r3, [r7, #12]
+ 8000716: e00f b.n 8000738
{
LED_On(i);
- 800062a: 68fb ldr r3, [r7, #12]
- 800062c: b2db uxtb r3, r3
- 800062e: 4618 mov r0, r3
- 8000630: f7ff ff64 bl 80004fc
+ 8000718: 68fb ldr r3, [r7, #12]
+ 800071a: b2db uxtb r3, r3
+ 800071c: 4618 mov r0, r3
+ 800071e: f7ff ff1f bl 8000560
vTaskDelay(150);
- 8000634: 2096 movs r0, #150 @ 0x96
- 8000636: f005 fdcf bl 80061d8
+ 8000722: 2096 movs r0, #150 @ 0x96
+ 8000724: f005 fe18 bl 8006358
LED_Off(i);
- 800063a: 68fb ldr r3, [r7, #12]
- 800063c: b2db uxtb r3, r3
- 800063e: 4618 mov r0, r3
- 8000640: f7ff ff88 bl 8000554
+ 8000728: 68fb ldr r3, [r7, #12]
+ 800072a: b2db uxtb r3, r3
+ 800072c: 4618 mov r0, r3
+ 800072e: f7ff ff43 bl 80005b8
for(i = 1; i > 0; i--)
- 8000644: 68fb ldr r3, [r7, #12]
- 8000646: 3b01 subs r3, #1
- 8000648: 60fb str r3, [r7, #12]
- 800064a: 68fb ldr r3, [r7, #12]
- 800064c: 2b00 cmp r3, #0
- 800064e: dcec bgt.n 800062a
+ 8000732: 68fb ldr r3, [r7, #12]
+ 8000734: 3b01 subs r3, #1
+ 8000736: 60fb str r3, [r7, #12]
+ 8000738: 68fb ldr r3, [r7, #12]
+ 800073a: 2b00 cmp r3, #0
+ 800073c: dcec bgt.n 8000718
{
- 8000650: e7d2 b.n 80005f8
+ 800073e: e7cd b.n 80006dc
-08000652 :
+08000740 :
}
}
}
void LedAnimationTask2(void* pArgs)
{
- 8000652: b580 push {r7, lr}
- 8000654: b084 sub sp, #16
- 8000656: af00 add r7, sp, #0
- 8000658: 6078 str r0, [r7, #4]
+ 8000740: b580 push {r7, lr}
+ 8000742: b084 sub sp, #16
+ 8000744: af00 add r7, sp, #0
+ 8000746: 6078 str r0, [r7, #4]
for(;;)
{
+ ulTaskNotifyTake(pdTRUE, portMAX_DELAY);
+ 8000748: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff
+ 800074c: 2001 movs r0, #1
+ 800074e: f006 fb2b bl 8006da8
int i, j;
for(j = 0; j < 5; j++)
- 800065a: 2300 movs r3, #0
- 800065c: 60bb str r3, [r7, #8]
- 800065e: e024 b.n 80006aa
+ 8000752: 2300 movs r3, #0
+ 8000754: 60bb str r3, [r7, #8]
+ 8000756: e024 b.n 80007a2
{
for(i = 0; i < 3; i++)
- 8000660: 2300 movs r3, #0
- 8000662: 60fb str r3, [r7, #12]
- 8000664: e007 b.n 8000676
+ 8000758: 2300 movs r3, #0
+ 800075a: 60fb str r3, [r7, #12]
+ 800075c: e007 b.n 800076e
LED_On(i);
- 8000666: 68fb ldr r3, [r7, #12]
- 8000668: b2db uxtb r3, r3
- 800066a: 4618 mov r0, r3
- 800066c: f7ff ff46 bl 80004fc
+ 800075e: 68fb ldr r3, [r7, #12]
+ 8000760: b2db uxtb r3, r3
+ 8000762: 4618 mov r0, r3
+ 8000764: f7ff fefc bl 8000560
for(i = 0; i < 3; i++)
- 8000670: 68fb ldr r3, [r7, #12]
- 8000672: 3301 adds r3, #1
- 8000674: 60fb str r3, [r7, #12]
- 8000676: 68fb ldr r3, [r7, #12]
- 8000678: 2b02 cmp r3, #2
- 800067a: ddf4 ble.n 8000666
+ 8000768: 68fb ldr r3, [r7, #12]
+ 800076a: 3301 adds r3, #1
+ 800076c: 60fb str r3, [r7, #12]
+ 800076e: 68fb ldr r3, [r7, #12]
+ 8000770: 2b02 cmp r3, #2
+ 8000772: ddf4 ble.n 800075e
vTaskDelay(100);
- 800067c: 2064 movs r0, #100 @ 0x64
- 800067e: f005 fdab bl 80061d8
+ 8000774: 2064 movs r0, #100 @ 0x64
+ 8000776: f005 fdef bl 8006358
for(i = 0; i < 3; i++)
- 8000682: 2300 movs r3, #0
- 8000684: 60fb str r3, [r7, #12]
- 8000686: e007 b.n 8000698
+ 800077a: 2300 movs r3, #0
+ 800077c: 60fb str r3, [r7, #12]
+ 800077e: e007 b.n 8000790
LED_Off(i);
- 8000688: 68fb ldr r3, [r7, #12]
- 800068a: b2db uxtb r3, r3
- 800068c: 4618 mov r0, r3
- 800068e: f7ff ff61 bl 8000554
+ 8000780: 68fb ldr r3, [r7, #12]
+ 8000782: b2db uxtb r3, r3
+ 8000784: 4618 mov r0, r3
+ 8000786: f7ff ff17 bl 80005b8
for(i = 0; i < 3; i++)
- 8000692: 68fb ldr r3, [r7, #12]
- 8000694: 3301 adds r3, #1
- 8000696: 60fb str r3, [r7, #12]
- 8000698: 68fb ldr r3, [r7, #12]
- 800069a: 2b02 cmp r3, #2
- 800069c: ddf4 ble.n 8000688
+ 800078a: 68fb ldr r3, [r7, #12]
+ 800078c: 3301 adds r3, #1
+ 800078e: 60fb str r3, [r7, #12]
+ 8000790: 68fb ldr r3, [r7, #12]
+ 8000792: 2b02 cmp r3, #2
+ 8000794: ddf4 ble.n 8000780
vTaskDelay(100);
- 800069e: 2064 movs r0, #100 @ 0x64
- 80006a0: f005 fd9a bl 80061d8
+ 8000796: 2064 movs r0, #100 @ 0x64
+ 8000798: f005 fdde bl 8006358
for(j = 0; j < 5; j++)
- 80006a4: 68bb ldr r3, [r7, #8]
- 80006a6: 3301 adds r3, #1
- 80006a8: 60bb str r3, [r7, #8]
- 80006aa: 68bb ldr r3, [r7, #8]
- 80006ac: 2b04 cmp r3, #4
- 80006ae: ddd7 ble.n 8000660
+ 800079c: 68bb ldr r3, [r7, #8]
+ 800079e: 3301 adds r3, #1
+ 80007a0: 60bb str r3, [r7, #8]
+ 80007a2: 68bb ldr r3, [r7, #8]
+ 80007a4: 2b04 cmp r3, #4
+ 80007a6: ddd7 ble.n 8000758
{
- 80006b0: e7d3 b.n 800065a
+ 80007a8: e7ce b.n 8000748
-080006b2 :
+080007aa :
+ }
+ }
+}
+
+void LedAnimationTask3(void* pArgs)
+{
+ 80007aa: b580 push {r7, lr}
+ 80007ac: b084 sub sp, #16
+ 80007ae: af00 add r7, sp, #0
+ 80007b0: 6078 str r0, [r7, #4]
+ for(;;)
+ {
+ ulTaskNotifyTake(pdTRUE, portMAX_DELAY);
+ 80007b2: f04f 31ff mov.w r1, #4294967295 @ 0xffffffff
+ 80007b6: 2001 movs r0, #1
+ 80007b8: f006 faf6 bl 8006da8
+ int i;
+ for(i = 0; i < 3; i++)
+ 80007bc: 2300 movs r3, #0
+ 80007be: 60fb str r3, [r7, #12]
+ 80007c0: e00a b.n 80007d8
+ {
+ LED_On(i);
+ 80007c2: 68fb ldr r3, [r7, #12]
+ 80007c4: b2db uxtb r3, r3
+ 80007c6: 4618 mov r0, r3
+ 80007c8: f7ff feca bl 8000560
+ vTaskDelay(150);
+ 80007cc: 2096 movs r0, #150 @ 0x96
+ 80007ce: f005 fdc3 bl 8006358
+ for(i = 0; i < 3; i++)
+ 80007d2: 68fb ldr r3, [r7, #12]
+ 80007d4: 3301 adds r3, #1
+ 80007d6: 60fb str r3, [r7, #12]
+ 80007d8: 68fb ldr r3, [r7, #12]
+ 80007da: 2b02 cmp r3, #2
+ 80007dc: ddf1 ble.n 80007c2
+ }
+ for(i = 2; i >= 0; i--)
+ 80007de: 2302 movs r3, #2
+ 80007e0: 60fb str r3, [r7, #12]
+ 80007e2: e00a b.n 80007fa
+ {
+ LED_Off(i);
+ 80007e4: 68fb ldr r3, [r7, #12]
+ 80007e6: b2db uxtb r3, r3
+ 80007e8: 4618 mov r0, r3
+ 80007ea: f7ff fee5 bl 80005b8
+ vTaskDelay(150);
+ 80007ee: 2096 movs r0, #150 @ 0x96
+ 80007f0: f005 fdb2 bl 8006358
+ for(i = 2; i >= 0; i--)
+ 80007f4: 68fb ldr r3, [r7, #12]
+ 80007f6: 3b01 subs r3, #1
+ 80007f8: 60fb str r3, [r7, #12]
+ 80007fa: 68fb ldr r3, [r7, #12]
+ 80007fc: 2b00 cmp r3, #0
+ 80007fe: daf1 bge.n 80007e4
+ {
+ 8000800: e7d7 b.n 80007b2
+
+08000802 :
/**
* @brief The application entry point.
* @retval int
*/
int main(void)
{
- 80006b2: b580 push {r7, lr}
- 80006b4: af00 add r7, sp, #0
+ 8000802: b580 push {r7, lr}
+ 8000804: af00 add r7, sp, #0
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
- 80006b6: f000 ff58 bl 800156a
+ 8000806: f000 ff58 bl 80016ba
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
- 80006ba: f000 f819 bl 80006f0
+ 800080a: f000 f819 bl 8000840
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
- 80006be: f000 f9e1 bl 8000a84
+ 800080e: f000 f9e1 bl 8000bd4
MX_DFSDM1_Init();
- 80006c2: f000 f877 bl 80007b4
+ 8000812: f000 f877 bl 8000904
MX_I2C2_Init();
- 80006c6: f000 f8ad bl 8000824
+ 8000816: f000 f8ad bl 8000974
MX_QUADSPI_Init();
- 80006ca: f000 f8e9 bl 80008a0
+ 800081a: f000 f8e9 bl 80009f0
MX_SPI3_Init();
- 80006ce: f000 f90d bl 80008ec
+ 800081e: f000 f90d bl 8000a3c
MX_USART1_UART_Init();
- 80006d2: f000 f949 bl 8000968
+ 8000822: f000 f949 bl 8000ab8
MX_USART3_UART_Init();
- 80006d6: f000 f977 bl 80009c8
+ 8000826: f000 f977 bl 8000b18
MX_USB_OTG_FS_PCD_Init();
- 80006da: f000 f9a5 bl 8000a28
+ 800082a: f000 f9a5 bl 8000b78
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
/* Init scheduler */
osKernelInitialize();
- 80006de: f004 fd91 bl 8005204
+ 800082e: f004 fda9 bl 8005384
/* Create the thread(s) */
/* creation of defaultTask */
//defaultTaskHandle = osThreadNew(StartDefaultTask, NULL, &defaultTask_attributes);
/* USER CODE BEGIN RTOS_THREADS */
CreateLedTask();
- 80006e2: f7ff ff63 bl 80005ac
+ 8000832: f7ff feed bl 8000610
/* USER CODE BEGIN RTOS_EVENTS */
/* add events, ... */
/* USER CODE END RTOS_EVENTS */
/* Start scheduler */
osKernelStart();
- 80006e6: f004 fdb1 bl 800524c
+ 8000836: f004 fdc9 bl 80053cc
/* We should never get here as control is now taken by the scheduler */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
- 80006ea: bf00 nop
- 80006ec: e7fd b.n 80006ea
+ 800083a: bf00 nop
+ 800083c: e7fd b.n 800083a
...
-080006f0 :
+08000840 :
/**
* @brief System Clock Configuration
* @retval None
*/
void SystemClock_Config(void)
{
- 80006f0: b580 push {r7, lr}
- 80006f2: b096 sub sp, #88 @ 0x58
- 80006f4: af00 add r7, sp, #0
+ 8000840: b580 push {r7, lr}
+ 8000842: b096 sub sp, #88 @ 0x58
+ 8000844: af00 add r7, sp, #0
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
- 80006f6: f107 0314 add.w r3, r7, #20
- 80006fa: 2244 movs r2, #68 @ 0x44
- 80006fc: 2100 movs r1, #0
- 80006fe: 4618 mov r0, r3
- 8000700: f007 fa82 bl 8007c08
+ 8000846: f107 0314 add.w r3, r7, #20
+ 800084a: 2244 movs r2, #68 @ 0x44
+ 800084c: 2100 movs r1, #0
+ 800084e: 4618 mov r0, r3
+ 8000850: f007 fbaa bl 8007fa8
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
- 8000704: 463b mov r3, r7
- 8000706: 2200 movs r2, #0
- 8000708: 601a str r2, [r3, #0]
- 800070a: 605a str r2, [r3, #4]
- 800070c: 609a str r2, [r3, #8]
- 800070e: 60da str r2, [r3, #12]
- 8000710: 611a str r2, [r3, #16]
+ 8000854: 463b mov r3, r7
+ 8000856: 2200 movs r2, #0
+ 8000858: 601a str r2, [r3, #0]
+ 800085a: 605a str r2, [r3, #4]
+ 800085c: 609a str r2, [r3, #8]
+ 800085e: 60da str r2, [r3, #12]
+ 8000860: 611a str r2, [r3, #16]
/** Configure the main internal regulator output voltage
*/
if (HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE1) != HAL_OK)
- 8000712: f44f 7000 mov.w r0, #512 @ 0x200
- 8000716: f001 fddb bl 80022d0
- 800071a: 4603 mov r3, r0
- 800071c: 2b00 cmp r3, #0
- 800071e: d001 beq.n 8000724
+ 8000862: f44f 7000 mov.w r0, #512 @ 0x200
+ 8000866: f001 fdf3 bl 8002450
+ 800086a: 4603 mov r3, r0
+ 800086c: 2b00 cmp r3, #0
+ 800086e: d001 beq.n 8000874
{
Error_Handler();
- 8000720: f000 fb74 bl 8000e0c
+ 8000870: f000 fb74 bl 8000f5c
}
/** Configure LSE Drive Capability
*/
HAL_PWR_EnableBkUpAccess();
- 8000724: f001 fdb6 bl 8002294
+ 8000874: f001 fdce bl 8002414
__HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_LOW);
- 8000728: 4b21 ldr r3, [pc, #132] @ (80007b0 )
- 800072a: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90
- 800072e: 4a20 ldr r2, [pc, #128] @ (80007b0 )
- 8000730: f023 0318 bic.w r3, r3, #24
- 8000734: f8c2 3090 str.w r3, [r2, #144] @ 0x90
+ 8000878: 4b21 ldr r3, [pc, #132] @ (8000900 )
+ 800087a: f8d3 3090 ldr.w r3, [r3, #144] @ 0x90
+ 800087e: 4a20 ldr r2, [pc, #128] @ (8000900 )
+ 8000880: f023 0318 bic.w r3, r3, #24
+ 8000884: f8c2 3090 str.w r3, [r2, #144] @ 0x90
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSE|RCC_OSCILLATORTYPE_MSI;
- 8000738: 2314 movs r3, #20
- 800073a: 617b str r3, [r7, #20]
+ 8000888: 2314 movs r3, #20
+ 800088a: 617b str r3, [r7, #20]
RCC_OscInitStruct.LSEState = RCC_LSE_ON;
- 800073c: 2301 movs r3, #1
- 800073e: 61fb str r3, [r7, #28]
+ 800088c: 2301 movs r3, #1
+ 800088e: 61fb str r3, [r7, #28]
RCC_OscInitStruct.MSIState = RCC_MSI_ON;
- 8000740: 2301 movs r3, #1
- 8000742: 62fb str r3, [r7, #44] @ 0x2c
+ 8000890: 2301 movs r3, #1
+ 8000892: 62fb str r3, [r7, #44] @ 0x2c
RCC_OscInitStruct.MSICalibrationValue = 0;
- 8000744: 2300 movs r3, #0
- 8000746: 633b str r3, [r7, #48] @ 0x30
+ 8000894: 2300 movs r3, #0
+ 8000896: 633b str r3, [r7, #48] @ 0x30
RCC_OscInitStruct.MSIClockRange = RCC_MSIRANGE_6;
- 8000748: 2360 movs r3, #96 @ 0x60
- 800074a: 637b str r3, [r7, #52] @ 0x34
+ 8000898: 2360 movs r3, #96 @ 0x60
+ 800089a: 637b str r3, [r7, #52] @ 0x34
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
- 800074c: 2302 movs r3, #2
- 800074e: 63fb str r3, [r7, #60] @ 0x3c
+ 800089c: 2302 movs r3, #2
+ 800089e: 63fb str r3, [r7, #60] @ 0x3c
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_MSI;
- 8000750: 2301 movs r3, #1
- 8000752: 643b str r3, [r7, #64] @ 0x40
+ 80008a0: 2301 movs r3, #1
+ 80008a2: 643b str r3, [r7, #64] @ 0x40
RCC_OscInitStruct.PLL.PLLM = 1;
- 8000754: 2301 movs r3, #1
- 8000756: 647b str r3, [r7, #68] @ 0x44
+ 80008a4: 2301 movs r3, #1
+ 80008a6: 647b str r3, [r7, #68] @ 0x44
RCC_OscInitStruct.PLL.PLLN = 40;
- 8000758: 2328 movs r3, #40 @ 0x28
- 800075a: 64bb str r3, [r7, #72] @ 0x48
+ 80008a8: 2328 movs r3, #40 @ 0x28
+ 80008aa: 64bb str r3, [r7, #72] @ 0x48
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV7;
- 800075c: 2307 movs r3, #7
- 800075e: 64fb str r3, [r7, #76] @ 0x4c
+ 80008ac: 2307 movs r3, #7
+ 80008ae: 64fb str r3, [r7, #76] @ 0x4c
RCC_OscInitStruct.PLL.PLLQ = RCC_PLLQ_DIV2;
- 8000760: 2302 movs r3, #2
- 8000762: 653b str r3, [r7, #80] @ 0x50
+ 80008b0: 2302 movs r3, #2
+ 80008b2: 653b str r3, [r7, #80] @ 0x50
RCC_OscInitStruct.PLL.PLLR = RCC_PLLR_DIV2;
- 8000764: 2302 movs r3, #2
- 8000766: 657b str r3, [r7, #84] @ 0x54
+ 80008b4: 2302 movs r3, #2
+ 80008b6: 657b str r3, [r7, #84] @ 0x54
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
- 8000768: f107 0314 add.w r3, r7, #20
- 800076c: 4618 mov r0, r3
- 800076e: f001 fed1 bl 8002514
- 8000772: 4603 mov r3, r0
- 8000774: 2b00 cmp r3, #0
- 8000776: d001 beq.n 800077c
+ 80008b8: f107 0314 add.w r3, r7, #20
+ 80008bc: 4618 mov r0, r3
+ 80008be: f001 fee9 bl 8002694
+ 80008c2: 4603 mov r3, r0
+ 80008c4: 2b00 cmp r3, #0
+ 80008c6: d001 beq.n 80008cc
{
Error_Handler();
- 8000778: f000 fb48 bl 8000e0c
+ 80008c8: f000 fb48 bl 8000f5c
}
/** Initializes the CPU, AHB and APB buses clocks
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
- 800077c: 230f movs r3, #15
- 800077e: 603b str r3, [r7, #0]
+ 80008cc: 230f movs r3, #15
+ 80008ce: 603b str r3, [r7, #0]
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
- 8000780: 2303 movs r3, #3
- 8000782: 607b str r3, [r7, #4]
+ 80008d0: 2303 movs r3, #3
+ 80008d2: 607b str r3, [r7, #4]
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
- 8000784: 2300 movs r3, #0
- 8000786: 60bb str r3, [r7, #8]
+ 80008d4: 2300 movs r3, #0
+ 80008d6: 60bb str r3, [r7, #8]
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
- 8000788: 2300 movs r3, #0
- 800078a: 60fb str r3, [r7, #12]
+ 80008d8: 2300 movs r3, #0
+ 80008da: 60fb str r3, [r7, #12]
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
- 800078c: 2300 movs r3, #0
- 800078e: 613b str r3, [r7, #16]
+ 80008dc: 2300 movs r3, #0
+ 80008de: 613b str r3, [r7, #16]
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_4) != HAL_OK)
- 8000790: 463b mov r3, r7
- 8000792: 2104 movs r1, #4
- 8000794: 4618 mov r0, r3
- 8000796: f002 fa99 bl 8002ccc
- 800079a: 4603 mov r3, r0
- 800079c: 2b00 cmp r3, #0
- 800079e: d001 beq.n 80007a4
+ 80008e0: 463b mov r3, r7
+ 80008e2: 2104 movs r1, #4
+ 80008e4: 4618 mov r0, r3
+ 80008e6: f002 fab1 bl 8002e4c
+ 80008ea: 4603 mov r3, r0
+ 80008ec: 2b00 cmp r3, #0
+ 80008ee: d001 beq.n 80008f4
{
Error_Handler();
- 80007a0: f000 fb34 bl 8000e0c
+ 80008f0: f000 fb34 bl 8000f5c
}
/** Enable MSI Auto calibration
*/
HAL_RCCEx_EnableMSIPLLMode();
- 80007a4: f002 ffd2 bl 800374c
+ 80008f4: f002 ffea bl 80038cc
}
- 80007a8: bf00 nop
- 80007aa: 3758 adds r7, #88 @ 0x58
- 80007ac: 46bd mov sp, r7
- 80007ae: bd80 pop {r7, pc}
- 80007b0: 40021000 .word 0x40021000
+ 80008f8: bf00 nop
+ 80008fa: 3758 adds r7, #88 @ 0x58
+ 80008fc: 46bd mov sp, r7
+ 80008fe: bd80 pop {r7, pc}
+ 8000900: 40021000 .word 0x40021000
-080007b4 :
+08000904 :
* @brief DFSDM1 Initialization Function
* @param None
* @retval None
*/
static void MX_DFSDM1_Init(void)
{
- 80007b4: b580 push {r7, lr}
- 80007b6: af00 add r7, sp, #0
+ 8000904: b580 push {r7, lr}
+ 8000906: af00 add r7, sp, #0
/* USER CODE END DFSDM1_Init 0 */
/* USER CODE BEGIN DFSDM1_Init 1 */
/* USER CODE END DFSDM1_Init 1 */
hdfsdm1_channel1.Instance = DFSDM1_Channel1;
- 80007b8: 4b18 ldr r3, [pc, #96] @ (800081c )
- 80007ba: 4a19 ldr r2, [pc, #100] @ (8000820 )
- 80007bc: 601a str r2, [r3, #0]
+ 8000908: 4b18 ldr r3, [pc, #96] @ (800096c )
+ 800090a: 4a19 ldr r2, [pc, #100] @ (8000970 )
+ 800090c: 601a str r2, [r3, #0]
hdfsdm1_channel1.Init.OutputClock.Activation = ENABLE;
- 80007be: 4b17 ldr r3, [pc, #92] @ (800081c )
- 80007c0: 2201 movs r2, #1
- 80007c2: 711a strb r2, [r3, #4]
+ 800090e: 4b17 ldr r3, [pc, #92] @ (800096c )
+ 8000910: 2201 movs r2, #1
+ 8000912: 711a strb r2, [r3, #4]
hdfsdm1_channel1.Init.OutputClock.Selection = DFSDM_CHANNEL_OUTPUT_CLOCK_SYSTEM;
- 80007c4: 4b15 ldr r3, [pc, #84] @ (800081c )
- 80007c6: 2200 movs r2, #0
- 80007c8: 609a str r2, [r3, #8]
+ 8000914: 4b15 ldr r3, [pc, #84] @ (800096c )
+ 8000916: 2200 movs r2, #0
+ 8000918: 609a str r2, [r3, #8]
hdfsdm1_channel1.Init.OutputClock.Divider = 2;
- 80007ca: 4b14 ldr r3, [pc, #80] @ (800081c )
- 80007cc: 2202 movs r2, #2
- 80007ce: 60da str r2, [r3, #12]
+ 800091a: 4b14 ldr r3, [pc, #80] @ (800096c )
+ 800091c: 2202 movs r2, #2
+ 800091e: 60da str r2, [r3, #12]
hdfsdm1_channel1.Init.Input.Multiplexer = DFSDM_CHANNEL_EXTERNAL_INPUTS;
- 80007d0: 4b12 ldr r3, [pc, #72] @ (800081c )
- 80007d2: 2200 movs r2, #0
- 80007d4: 611a str r2, [r3, #16]
+ 8000920: 4b12 ldr r3, [pc, #72] @ (800096c )
+ 8000922: 2200 movs r2, #0
+ 8000924: 611a str r2, [r3, #16]
hdfsdm1_channel1.Init.Input.DataPacking = DFSDM_CHANNEL_STANDARD_MODE;
- 80007d6: 4b11 ldr r3, [pc, #68] @ (800081c )
- 80007d8: 2200 movs r2, #0
- 80007da: 615a str r2, [r3, #20]
+ 8000926: 4b11 ldr r3, [pc, #68] @ (800096c )
+ 8000928: 2200 movs r2, #0
+ 800092a: 615a str r2, [r3, #20]
hdfsdm1_channel1.Init.Input.Pins = DFSDM_CHANNEL_FOLLOWING_CHANNEL_PINS;
- 80007dc: 4b0f ldr r3, [pc, #60] @ (800081c )
- 80007de: f44f 7280 mov.w r2, #256 @ 0x100
- 80007e2: 619a str r2, [r3, #24]
+ 800092c: 4b0f ldr r3, [pc, #60] @ (800096c )
+ 800092e: f44f 7280 mov.w r2, #256 @ 0x100
+ 8000932: 619a str r2, [r3, #24]
hdfsdm1_channel1.Init.SerialInterface.Type = DFSDM_CHANNEL_SPI_RISING;
- 80007e4: 4b0d ldr r3, [pc, #52] @ (800081c )
- 80007e6: 2200 movs r2, #0
- 80007e8: 61da str r2, [r3, #28]
+ 8000934: 4b0d ldr r3, [pc, #52] @ (800096c )
+ 8000936: 2200 movs r2, #0
+ 8000938: 61da str r2, [r3, #28]
hdfsdm1_channel1.Init.SerialInterface.SpiClock = DFSDM_CHANNEL_SPI_CLOCK_INTERNAL;
- 80007ea: 4b0c ldr r3, [pc, #48] @ (800081c )
- 80007ec: 2204 movs r2, #4
- 80007ee: 621a str r2, [r3, #32]
+ 800093a: 4b0c ldr r3, [pc, #48] @ (800096c )
+ 800093c: 2204 movs r2, #4
+ 800093e: 621a str r2, [r3, #32]
hdfsdm1_channel1.Init.Awd.FilterOrder = DFSDM_CHANNEL_FASTSINC_ORDER;
- 80007f0: 4b0a ldr r3, [pc, #40] @ (800081c )
- 80007f2: 2200 movs r2, #0
- 80007f4: 625a str r2, [r3, #36] @ 0x24
+ 8000940: 4b0a ldr r3, [pc, #40] @ (800096c )
+ 8000942: 2200 movs r2, #0
+ 8000944: 625a str r2, [r3, #36] @ 0x24
hdfsdm1_channel1.Init.Awd.Oversampling = 1;
- 80007f6: 4b09 ldr r3, [pc, #36] @ (800081c )
- 80007f8: 2201 movs r2, #1
- 80007fa: 629a str r2, [r3, #40] @ 0x28
+ 8000946: 4b09 ldr r3, [pc, #36] @ (800096c )
+ 8000948: 2201 movs r2, #1
+ 800094a: 629a str r2, [r3, #40] @ 0x28
hdfsdm1_channel1.Init.Offset = 0;
- 80007fc: 4b07 ldr r3, [pc, #28] @ (800081c )
- 80007fe: 2200 movs r2, #0
- 8000800: 62da str r2, [r3, #44] @ 0x2c
+ 800094c: 4b07 ldr r3, [pc, #28] @ (800096c )
+ 800094e: 2200 movs r2, #0
+ 8000950: 62da str r2, [r3, #44] @ 0x2c
hdfsdm1_channel1.Init.RightBitShift = 0x00;
- 8000802: 4b06 ldr r3, [pc, #24] @ (800081c )
- 8000804: 2200 movs r2, #0
- 8000806: 631a str r2, [r3, #48] @ 0x30
+ 8000952: 4b06 ldr r3, [pc, #24] @ (800096c )
+ 8000954: 2200 movs r2, #0
+ 8000956: 631a str r2, [r3, #48] @ 0x30
if (HAL_DFSDM_ChannelInit(&hdfsdm1_channel1) != HAL_OK)
- 8000808: 4804 ldr r0, [pc, #16] @ (800081c )
- 800080a: f000 ffed bl 80017e8
- 800080e: 4603 mov r3, r0
- 8000810: 2b00 cmp r3, #0
- 8000812: d001 beq.n 8000818