STM32F4_UCOSiii开发手则_第五章_任务管理

5.1 UCOSiii启动与初始化

使用UCOSiii时初始化步骤打开UCOSiii

1.先调用OSInit();

2.创建任务:在main.c中创建start_task();其余任务在start_task();中创建,

在调用OS_TaskCreat();创建任务前,需先调用OS_CRITICAL_ENTER();进入临界区

创建任务完成后OS_CRITICAL_EXIT();推出临界区

调用OSstart();开启UCOSiii

主函数:

 int main(void)
 {
delay_init();     //延时函数初始化
  uart_init(9600);
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 中断优先级分组
LED_Init();   //
LCD_Init();   //
KEY_Init(); //
//uart_init(9600);//
    tp_dev.init();    //触摸屏初始化
ucos_load_main_ui(); //加载主界面  
  OSInit();   //初始化UCOSII
  OSTaskCreate(start_task,(void *)0,(OS_STK *)&START_TASK_STK[START_STK_SIZE-1],START_TASK_PRIO );//创建任务函数
OSStart(); //开始多任务
 }

 5.2 任务状态

UCOSIII 支持的是单核 CPU,不支持多核 CPU,某一时刻只有一个任务会获得 CPU 使用权进入运行态,其他的任务就会进入其他状态。休眠态、就绪态、运行态、等待态、中断服务态




猜你喜欢

转载自blog.csdn.net/qq_40025335/article/details/79524808