#include "LedTest.h" /* OS相关 */ #define TASK_STACK_SIZE 128 //任务栈大小 /* OS相关 */ TX_THREAD LedCtlTaskTCB; //LED控制任务句柄 static uint8_t TaskStack[TASK_STACK_SIZE]; //任务栈空间 void LedCtlTask(ULONG thread_input); /** * @brief LED控制任务初始化 * @param Level任务优先级 Preemption抢占阈值 * @retval void * @note void * @example void */ void LedCtlTaskInit(uint8_t Level,uint8_t Preemption) { tx_thread_create(&LedCtlTaskTCB, /* 任务句柄 */ "LedCtlTask", /* 任务名称 */ LedCtlTask, /* 任务入口函数 */ 0, /* 任务参数 */ &TaskStack[0], /* 任务栈起始地址 */ TASK_STACK_SIZE, /* 任务堆栈大小 */ Level, /* 优先级 */ Preemption, /* 抢占阈值 */ TX_NO_TIME_SLICE, /* 不使用时间片轮转 */ TX_AUTO_START); /* 自动启动线程 */ } /** * @brief LED控制任务 * @param ThreadXInput 任务参数 * @retval void * @note void * @example void */ void LedCtlTask(ULONG ThreadXInput) { (void)ThreadXInput; while (true) { IoCtlLedToggle(LED2); tx_thread_sleep(100); } }