基于uCOS-II系统的stm32物联网套件(温湿度传感器)开发—— 多任务LED闪烁
实现功能
编写多任务应用程序,实现任务1控制LED1每500ms闪烁1次,任务2控制LED2 每1秒闪烁1次,任务3控制LED3每2秒闪烁1次,任务4控制LED4每4秒闪烁一次。
程序分析
main.c
#include "includes.h"
//分别定义四个LED闪烁任务的栈
static OS_STK LED1_task_stk1[TASK_STK_SIZE];
static OS_STK LED2_task_stk2[TASK_STK_SIZE];
static OS_STK LED3_task_stk3[TASK_STK_SIZE];
static OS_STK LED4_task_stk4[TASK_STK_SIZE];
int main(void)
{
BSP_Init(); //初始化uCOS-II系统的板上时钟
OSInit(); //uCOS-II系统初始化
//创建四个LED闪烁任务
OSTaskCreate(Task_LED1,(void *)0,
&LED1_task_stk1[TASK_STK_SIZE-1], TASK_PRIO4);
OSTaskCreate(Task_LED2,(void *)0,
&LED2_task_stk2[TASK_STK_SIZE-1], TASK_PRIO5);
OSTaskCreate(Task_LED3,(void *)0,
&LED3_task_stk3[TASK_STK_SIZE-1], TASK_PRIO6);
OSTaskCreate(Task_LED4,(void *)0,
&LED4_task_stk4[TASK_STK_SIZE-1], TASK_PRIO7)