STM32 【FreeRTOS HAL库】创建任务

文章详细介绍了FreeRTOS中如何使用osThreadDef宏定义线程并创建任务,包括线程优先级、栈大小的设定以及osThreadCreate函数的使用。任务函数是一个无限循环的void类型函数,用于执行特定任务。通过osDelay函数实现任务间的调度和资源释放。

一、创建任务的相关函数

1、osThreadDef宏定义的理解

#define osThreadDef(name, thread, priority, instances, stacksz)  \
const osThreadDef_t os_thread_def_##name =  { #name, (thread), (priority), (instances), (stacksz)  }

所以

osThreadDef(Display, DisLCD_Task,osPriorityNormal, 0, 128);
//相当于
const   osThreadDef_t   os_thread_def_Display = { "Display", (DisLCD_Task), (osPriorityNormal), (0), (128)  }

因此

  • osThreadDef相当于定义了一个 os_thread_def_Display常量,并且赋值。
  • 宏定义中,##的作用就是把2个宏参数连接为1个数,或实现字符串的连接
  • #的作用就是将#后面的宏参数进行字符串的操作,也就是将#后面的参数(Display)两边加上一对双引号使其成为字符串("Display")

osThreadDef()这个函数的最后一个参数设为0时表示使用默认栈大小。如果需要的话,也可以通过在线程结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值