add more tasks
Showing
3 changed files
with
64 additions
and
7 deletions
... | @@ -60,7 +60,7 @@ | ... | @@ -60,7 +60,7 @@ |
60 | #define configTICK_RATE_HZ ((TickType_t)1000) | 60 | #define configTICK_RATE_HZ ((TickType_t)1000) |
61 | #define configMAX_PRIORITIES ( 56 ) | 61 | #define configMAX_PRIORITIES ( 56 ) |
62 | #define configMINIMAL_STACK_SIZE ((uint16_t)128) | 62 | #define configMINIMAL_STACK_SIZE ((uint16_t)128) |
63 | #define configTOTAL_HEAP_SIZE ((size_t)2048) | 63 | #define configTOTAL_HEAP_SIZE ((size_t)2560) |
64 | #define configMAX_TASK_NAME_LEN ( 16 ) | 64 | #define configMAX_TASK_NAME_LEN ( 16 ) |
65 | #define configUSE_TRACE_FACILITY 1 | 65 | #define configUSE_TRACE_FACILITY 1 |
66 | #define configUSE_16_BIT_TICKS 0 | 66 | #define configUSE_16_BIT_TICKS 0 |
... | @@ -78,7 +78,7 @@ | ... | @@ -78,7 +78,7 @@ |
78 | #define configUSE_TIMERS 1 | 78 | #define configUSE_TIMERS 1 |
79 | #define configTIMER_TASK_PRIORITY ( 2 ) | 79 | #define configTIMER_TASK_PRIORITY ( 2 ) |
80 | #define configTIMER_QUEUE_LENGTH 10 | 80 | #define configTIMER_QUEUE_LENGTH 10 |
81 | #define configTIMER_TASK_STACK_DEPTH 256 | 81 | #define configTIMER_TASK_STACK_DEPTH 128 |
82 | 82 | ||
83 | /* Set the following definitions to 1 to include the API function, or zero | 83 | /* Set the following definitions to 1 to include the API function, or zero |
84 | to exclude the API function. */ | 84 | to exclude the API function. */ | ... | ... |
... | @@ -50,6 +50,8 @@ | ... | @@ -50,6 +50,8 @@ |
50 | osThreadId_t LEDTaskHandle; | 50 | osThreadId_t LEDTaskHandle; |
51 | osThreadId_t KeyScanTaskHandle; | 51 | osThreadId_t KeyScanTaskHandle; |
52 | osThreadId_t UartTaskHandle; | 52 | osThreadId_t UartTaskHandle; |
53 | osThreadId_t CoreTaskHandle; | ||
54 | osThreadId_t SensorTaskHandle; | ||
53 | 55 | ||
54 | /* Private function prototypes -----------------------------------------------*/ | 56 | /* Private function prototypes -----------------------------------------------*/ |
55 | /* USER CODE BEGIN FunctionPrototypes */ | 57 | /* USER CODE BEGIN FunctionPrototypes */ |
... | @@ -59,6 +61,8 @@ osThreadId_t UartTaskHandle; | ... | @@ -59,6 +61,8 @@ osThreadId_t UartTaskHandle; |
59 | void StartLEDTask(void *argument); | 61 | void StartLEDTask(void *argument); |
60 | void StartKeyScanTask(void *argument); | 62 | void StartKeyScanTask(void *argument); |
61 | void StartUartTask(void *argument); | 63 | void StartUartTask(void *argument); |
64 | void StartCoreTask(void *argument); | ||
65 | void StartSensorTask(void *argument); | ||
62 | 66 | ||
63 | void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */ | 67 | void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */ |
64 | 68 | ||
... | @@ -114,6 +118,22 @@ osKernelInitialize(); | ... | @@ -114,6 +118,22 @@ osKernelInitialize(); |
114 | }; | 118 | }; |
115 | UartTaskHandle = osThreadNew(StartUartTask, NULL, &UartTask_attributes); | 119 | UartTaskHandle = osThreadNew(StartUartTask, NULL, &UartTask_attributes); |
116 | 120 | ||
121 | /* definition and creation of CoreTask */ | ||
122 | const osThreadAttr_t CoreTask_attributes = { | ||
123 | .name = "CoreTask", | ||
124 | .priority = (osPriority_t) osPriorityNormal, | ||
125 | .stack_size = 128 | ||
126 | }; | ||
127 | CoreTaskHandle = osThreadNew(StartCoreTask, NULL, &CoreTask_attributes); | ||
128 | |||
129 | /* definition and creation of SensorTask */ | ||
130 | const osThreadAttr_t SensorTask_attributes = { | ||
131 | .name = "SensorTask", | ||
132 | .priority = (osPriority_t) osPriorityLow, | ||
133 | .stack_size = 128 | ||
134 | }; | ||
135 | SensorTaskHandle = osThreadNew(StartSensorTask, NULL, &SensorTask_attributes); | ||
136 | |||
117 | /* USER CODE BEGIN RTOS_THREADS */ | 137 | /* USER CODE BEGIN RTOS_THREADS */ |
118 | /* add threads, ... */ | 138 | /* add threads, ... */ |
119 | /* USER CODE END RTOS_THREADS */ | 139 | /* USER CODE END RTOS_THREADS */ |
... | @@ -203,6 +223,42 @@ void StartUartTask(void *argument) | ... | @@ -203,6 +223,42 @@ void StartUartTask(void *argument) |
203 | /* USER CODE END StartUartTask */ | 223 | /* USER CODE END StartUartTask */ |
204 | } | 224 | } |
205 | 225 | ||
226 | /* USER CODE BEGIN Header_StartCoreTask */ | ||
227 | /** | ||
228 | * @brief Function implementing the CoreTask thread. | ||
229 | * @param argument: Not used | ||
230 | * @retval None | ||
231 | */ | ||
232 | /* USER CODE END Header_StartCoreTask */ | ||
233 | void StartCoreTask(void *argument) | ||
234 | { | ||
235 | /* USER CODE BEGIN StartCoreTask */ | ||
236 | /* Infinite loop */ | ||
237 | for(;;) | ||
238 | { | ||
239 | osDelay(1); | ||
240 | } | ||
241 | /* USER CODE END StartCoreTask */ | ||
242 | } | ||
243 | |||
244 | /* USER CODE BEGIN Header_StartSensorTask */ | ||
245 | /** | ||
246 | * @brief Function implementing the SensorTask thread. | ||
247 | * @param argument: Not used | ||
248 | * @retval None | ||
249 | */ | ||
250 | /* USER CODE END Header_StartSensorTask */ | ||
251 | void StartSensorTask(void *argument) | ||
252 | { | ||
253 | /* USER CODE BEGIN StartSensorTask */ | ||
254 | /* Infinite loop */ | ||
255 | for(;;) | ||
256 | { | ||
257 | osDelay(1); | ||
258 | } | ||
259 | /* USER CODE END StartSensorTask */ | ||
260 | } | ||
261 | |||
206 | /* Private application code --------------------------------------------------*/ | 262 | /* Private application code --------------------------------------------------*/ |
207 | /* USER CODE BEGIN Application */ | 263 | /* USER CODE BEGIN Application */ |
208 | 264 | ... | ... |
1 | #MicroXplorer Configuration settings - do not modify | 1 | #MicroXplorer Configuration settings - do not modify |
2 | FREERTOS.FootprintOK=true | 2 | FREERTOS.FootprintOK=false |
3 | FREERTOS.IPParameters=Tasks01,FootprintOK,configTOTAL_HEAP_SIZE | 3 | FREERTOS.IPParameters=Tasks01,FootprintOK,configTOTAL_HEAP_SIZE,configTIMER_TASK_STACK_DEPTH |
4 | FREERTOS.Tasks01=LEDTask,24,128,StartLEDTask,Default,NULL,Dynamic,NULL,NULL;KeyScanTask,24,128,StartKeyScanTask,Default,NULL,Dynamic,NULL,NULL;UartTask,24,128,StartUartTask,Default,NULL,Dynamic,NULL,NULL | 4 | FREERTOS.Tasks01=LEDTask,24,128,StartLEDTask,Default,NULL,Dynamic,NULL,NULL;KeyScanTask,24,128,StartKeyScanTask,Default,NULL,Dynamic,NULL,NULL;UartTask,24,128,StartUartTask,Default,NULL,Dynamic,NULL,NULL;CoreTask,24,128,StartCoreTask,Default,NULL,Dynamic,NULL,NULL;SensorTask,8,128,StartSensorTask,Default,NULL,Dynamic,NULL,NULL |
5 | FREERTOS.configTOTAL_HEAP_SIZE=2048 | 5 | FREERTOS.configTIMER_TASK_STACK_DEPTH=128 |
6 | FREERTOS.configTOTAL_HEAP_SIZE=2560 | ||
6 | File.Version=6 | 7 | File.Version=6 |
7 | KeepUserPlacement=false | 8 | KeepUserPlacement=false |
8 | Mcu.Family=STM32F0 | 9 | Mcu.Family=STM32F0 |
... | @@ -132,7 +133,7 @@ ProjectManager.StackSize=0x400 | ... | @@ -132,7 +133,7 @@ ProjectManager.StackSize=0x400 |
132 | ProjectManager.TargetToolchain=STM32CubeIDE | 133 | ProjectManager.TargetToolchain=STM32CubeIDE |
133 | ProjectManager.ToolChainLocation= | 134 | ProjectManager.ToolChainLocation= |
134 | ProjectManager.UnderRoot=true | 135 | ProjectManager.UnderRoot=true |
135 | ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,1-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_USART1_UART_Init-USART1-false-HAL-true | 136 | ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_USART1_UART_Init-USART1-false-HAL-true |
136 | RCC.AHBFreq_Value=48000000 | 137 | RCC.AHBFreq_Value=48000000 |
137 | RCC.APB1Freq_Value=48000000 | 138 | RCC.APB1Freq_Value=48000000 |
138 | RCC.APB1TimFreq_Value=48000000 | 139 | RCC.APB1TimFreq_Value=48000000 | ... | ... |
-
Please register or sign in to post a comment