FreeRTOS-任务创建

1.什么是任务?

任务可以理解为进程/线程,创建一个任务,机会在内存开辟一个空间。

2.任务的创建与删除

xTaskCreate的原型:
BaseType_t   xTaskCreate(

                   TaskFunction_t                                  pxTaskCode,    //任务函数
                   const char * const                             pcName,           //任务名
                   const uint16_t                                   usStackDepth,  //任务堆栈大小
                   void * const                                       pvParameters,  //传递给任务函数的参数
                   UBaseType_t                                    uxPriority,          //任务优先级
                   TaskHandle_t * const                        pxCreatedTask //任务句柄/控制块

)

3.创建任务实操(HAL库)

(1)选中任务与队列

(2)创建任务->点击Add

任务优先级(从上到下依次递增)低 -> 高

  

 如图,创建两个LED任务

 (3)配置GPIO

(4)keil文件

a.任务相关信息

  

b.任务执行内容

4.创建任务实操(库函数)-动态创建

函数:xTaskCreate()和vTaskDelete()的使用

动态任务创建流程:

(1)FreeRTOS入口函数(类似于main函数)

a.创建start_task,配置相关的宏 

   编写start_task 的执行内容函数,创建任务1,2,3(此处省略任务1,2,3的宏配置)

   编写任务1,2,3的执行函数

 补充:临界区保护,保护不想被打断的任务/程序段

TaskENTER_CRITICAL();//进入临界区

TaskEXIT_CRITICAL();//退出临界区

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值