FreeRTOS的任务创建

点击查看代码
/**
   *********************************************************************************
   * @file    main.c 
   * @author  
   * @version 
   * @date    2024/07/20
   * @brief   利用FreeRTOS的动态分配内存的方案来创建一个任务,学习API接口的使用流程
							创建一个任务,用于点亮一盏LED灯  PF9 -- LED0
						  
					
   *********************************************************************************
**/

#include "stm32f4xx.h"  //必须包含
#include <stdio.h>
#include "led.h"
#include "FreeRTOS.h"
#include "task.h"




//任务的接口
void led_task(void *arg)
{
	
	for(;;)
	{
		//LED灯亮
		GPIO_ResetBits(GPIOF,GPIO_Pin_9);
	}

}


int main()
{
	BaseType_t xReturned;
	TaskHandle_t LedTaskHandle = NULL;  //用于存储创建的任务句柄
	
	//1.硬件的初始化
	LED_Config();
	
	//2.创建一个任务
	xReturned = xTaskCreate(
														led_task,       		//任务的地址
														"task for led",     //任务的描述
														128,      					//任务的堆栈大小  128 * 32 / 8 = 512字节
														NULL,    						//任务接口的参数,无需传参则填NULL
														1,									//任务的优先级    范围 0 ~ configMAX_PRIORITIES - 1
														&LedTaskHandle 			//任务的句柄,是为了提供给其他函数使用的
													);
  //错误处理	
	if( xReturned != pdPASS )
	{

	}
	
	//3.启动调度器
	vTaskStartScheduler();
	
	while(1)
	{
		
	}
}





posted @ 2025-08-30 12:33  w1888  阅读(2)  评论(0)    收藏  举报