【1】uC/OS-III应用开发————>创建任务(STM32F767)

本文详细介绍了uC/OS-III实时操作系统中任务的管理,包括任务的五种状态、任务的构成、任务创建流程,以及用户任务与系统任务的区别。通过具体实例,展示了如何在STM32F767上使用uC/OS-III创建和管理任务。
  1. 简述:
    1. uC/OS任务分为2种:系统任务和用户任务
    2. 任务组成:
      1. 任务程序代码(函数)
      2. 任务堆栈
      3. 任务控制块
    3. 任务的状态:
      1. 睡眠:任务没有配备任务控制块或被剥夺了任务控制块时的状态
      2. 就绪:系统为任务配备了任务控制块且在任务就绪表中进行了就绪登记,任务具备了运行的充分条件
      3. 运行:处于就绪状态的任务经调度器判断获得了CPU的使用权,则任务就进入了运行状态
      4. 等待:正在运行的任务,需要等待一段时间或需要等待一个事件发生再运行时,该任务就会把CPU的使用权让给其他任务而使任务进行等待状态
      5. 中断服务态:一个正在运行的任务一旦响应中断申请就会中止运行转而去执行中断服务程序,此时这个任务就会被挂起,进入中断服务态
    4. 硬件初始化:
      1. 模仿官方例程,把所有的外设初始化都放在bsp.c文件中的bsp_init()函数
      2. 本章节只用到led和串口
      3. 代码如下:
        /**************************************************
         * 函数名:void  BSP_Init (void)
         * 描述  :外设初始化
         * 输入  :无
         * 输出  :无
         * 返回  :无 
         * 调用  :内部调用 
         **************************************************/
        void  BSP_Init (void)
        {
        	Cache_Enable();                 //打开L1-Cache
        	HAL_Init();				        //初始化HAL库
        	Stm32_Clock_Init(432,25,2,9);   //设置时钟,216Mhz 
            
        //    delay_init(216);
            uart_init(115200); //串口初始化
        
            BSP_LED_Init(); //led 初始化
        }

         

    5. 定义任务堆栈大小
      1. /*
        *********************************************************************************************************
        *                                            任务堆栈大小 
        *********************************************************************************************************
        */
        
        #define  APP_TASK_START_STK_SIZE                     256u
        
        #define  APP_TASK_LED_STK_SIZE                       512u
        #define  APP_TASK_USART_STK_SIZE                     512u

         

    6. 定义任务优先级
      1. /*
        *********************************************************************************************************
        *                                            任务 优先级
        **************
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值