62723c52 by 张亚玄

add more tasks

1 parent fc1b0482
...@@ -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
......