RT-Thread—创建线程的俩种方式

概述

创建线程三要素:
1.线程栈
2.线程控制块
3.线程主体函数

在RTT中线程的创建方式有俩种:

  • 静态创建
  • 动态创建

从字面意思上还是比较好理解俩种方法的,静态创建就是提前申请好一点的空间,动态创建就是根据所需空间大小自动分配空间。

静态创建

所谓静态创建,就是在SRAM中提前给线程划分一部分内存空间,与线程有关的所有内存都在那一块内存空间中。此处模拟创建一个线程点亮led。

定义线程栈

RTT中,每一个线程都是独立的,所以每一个线程都有其单独的运行环境,线程的运行环境都保存在其栈空间中。线程的栈占用的是MCU内部的RAM,所以一款MCU能支持多少线程,就看其RAM有多大了。
定义线程栈的函数如下:

/* 栈空间地址对齐 */
ALIGN( RT_ALIGN_SIZE )
/* 定义一个数组,栈的空间大小就是1024*8字节 */
static rt_uint8_t rt_led_thread_stack[1024];

定义线程函数

线程实际上就是一个无限循环且不带返回值的C函数,所以定义线程函数如下:

static void led_thread_entry( void *parameter )
{
   
	LED_ON;
	rt_thread_delay( 500 );

	LED_OFF
  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值