mirror of
				https://github.com/goldenfishs/MRobot.git
				synced 2025-10-31 15:15:43 +08:00 
			
		
		
		
	添加freertos.c
This commit is contained in:
		
							parent
							
								
									4d38f55ced
								
							
						
					
					
						commit
						40aa71f077
					
				
							
								
								
									
										131
									
								
								src/freertos.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										131
									
								
								src/freertos.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,131 @@ | ||||
| /* USER CODE BEGIN Header */ | ||||
| /**
 | ||||
|   ****************************************************************************** | ||||
|   * File Name          : freertos.c | ||||
|   * Description        : Code for freertos applications | ||||
|   ****************************************************************************** | ||||
|   * @attention | ||||
|   * | ||||
|   * Copyright (c) 2025 STMicroelectronics. | ||||
|   * All rights reserved. | ||||
|   * | ||||
|   * This software is licensed under terms that can be found in the LICENSE file | ||||
|   * in the root directory of this software component. | ||||
|   * If no LICENSE file comes with this software, it is provided AS-IS. | ||||
|   * | ||||
|   ****************************************************************************** | ||||
|   */ | ||||
| /* USER CODE END Header */ | ||||
| 
 | ||||
| /* Includes ------------------------------------------------------------------*/ | ||||
| #include "FreeRTOS.h" | ||||
| #include "task.h" | ||||
| #include "main.h" | ||||
| #include "cmsis_os.h" | ||||
| 
 | ||||
| /* Private includes ----------------------------------------------------------*/ | ||||
| /* USER CODE BEGIN Includes */ | ||||
| #include "task/user_task.h" | ||||
| /* USER CODE END Includes */ | ||||
| 
 | ||||
| /* Private typedef -----------------------------------------------------------*/ | ||||
| /* USER CODE BEGIN PTD */ | ||||
| 
 | ||||
| /* USER CODE END PTD */ | ||||
| 
 | ||||
| /* Private define ------------------------------------------------------------*/ | ||||
| /* USER CODE BEGIN PD */ | ||||
| 
 | ||||
| /* USER CODE END PD */ | ||||
| 
 | ||||
| /* Private macro -------------------------------------------------------------*/ | ||||
| /* USER CODE BEGIN PM */ | ||||
| 
 | ||||
| /* USER CODE END PM */ | ||||
| 
 | ||||
| /* Private variables ---------------------------------------------------------*/ | ||||
| /* USER CODE BEGIN Variables */ | ||||
| osThreadId_t initTaskHandle; // 定义 Task_Init 的任务句柄
 | ||||
| /* USER CODE END Variables */ | ||||
| /* Definitions for defaultTask */ | ||||
| osThreadId_t defaultTaskHandle; | ||||
| const osThreadAttr_t defaultTask_attributes = { | ||||
|   .name = "defaultTask", | ||||
|   .stack_size = 128 * 4, | ||||
|   .priority = (osPriority_t) osPriorityNormal, | ||||
| }; | ||||
| 
 | ||||
| /* Private function prototypes -----------------------------------------------*/ | ||||
| /* USER CODE BEGIN FunctionPrototypes */ | ||||
| 
 | ||||
| /* USER CODE END FunctionPrototypes */ | ||||
| 
 | ||||
| void StartDefaultTask(void *argument); | ||||
| 
 | ||||
| void MX_FREERTOS_Init(void); /* (MISRA C 2004 rule 8.1) */ | ||||
| 
 | ||||
| /**
 | ||||
|   * @brief  FreeRTOS initialization | ||||
|   * @param  None | ||||
|   * @retval None | ||||
|   */ | ||||
| void MX_FREERTOS_Init(void) { | ||||
|   /* USER CODE BEGIN Init */ | ||||
| 
 | ||||
|   /* USER CODE END Init */ | ||||
| 
 | ||||
|   /* USER CODE BEGIN RTOS_MUTEX */ | ||||
|   /* add mutexes, ... */ | ||||
|   /* USER CODE END RTOS_MUTEX */ | ||||
| 
 | ||||
|   /* USER CODE BEGIN RTOS_SEMAPHORES */ | ||||
|   /* add semaphores, ... */ | ||||
|   /* USER CODE END RTOS_SEMAPHORES */ | ||||
| 
 | ||||
|   /* USER CODE BEGIN RTOS_TIMERS */ | ||||
|   /* start timers, add new ones, ... */ | ||||
|   /* USER CODE END RTOS_TIMERS */ | ||||
| 
 | ||||
|   /* USER CODE BEGIN RTOS_QUEUES */ | ||||
|   /* add queues, ... */ | ||||
|   /* USER CODE END RTOS_QUEUES */ | ||||
| 
 | ||||
|   /* Create the thread(s) */ | ||||
|   /* creation of defaultTask */ | ||||
|   defaultTaskHandle = osThreadNew(StartDefaultTask, NULL, &defaultTask_attributes); | ||||
| 
 | ||||
|   /* USER CODE BEGIN RTOS_THREADS */ | ||||
|   initTaskHandle = osThreadNew(Task_Init, NULL, &attr_init); // 创建初始化任务
 | ||||
|   /* add threads, ... */ | ||||
|   /* USER CODE END RTOS_THREADS */ | ||||
| 
 | ||||
|   /* USER CODE BEGIN RTOS_EVENTS */ | ||||
|   /* add events, ... */ | ||||
|   /* USER CODE END RTOS_EVENTS */ | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| /* USER CODE BEGIN Header_StartDefaultTask */ | ||||
| /**
 | ||||
|   * @brief  Function implementing the defaultTask thread. | ||||
|   * @param  argument: Not used | ||||
|   * @retval None | ||||
|   */ | ||||
| /* USER CODE END Header_StartDefaultTask */ | ||||
| void StartDefaultTask(void *argument) | ||||
| { | ||||
|   /* USER CODE BEGIN StartDefaultTask */ | ||||
|   /* Infinite loop */ | ||||
|   // for(;;)
 | ||||
|   // {
 | ||||
|   //   osDelay(1);
 | ||||
|   // }
 | ||||
|   osThreadTerminate(osThreadGetId()); // 结束自身
 | ||||
|   /* USER CODE END StartDefaultTask */ | ||||
| } | ||||
| 
 | ||||
| /* Private application code --------------------------------------------------*/ | ||||
| /* USER CODE BEGIN Application */ | ||||
| 
 | ||||
| /* USER CODE END Application */ | ||||
| 
 | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 RB
						RB