基于RT_Thread的STM32F103之创建线程

1、硬件初始化:

初始化函数:rt_hw_board_init()

2、创建单线程-SRAM静态内存:

  1.  定义线程函数    static void led1_thread_entry(void* parameter)
  2. 定义线程栈        static rt_uint8_t rt_led1_thread_stack[1024] 
  3. 定义线程控制块  static struct rt_thread led1_thread
  4. 初始化线程         rt_thread_init()
  5. 启动线程             rt_thread_startup()

创建线程完整代码:

1 /*
2 *************************************************************************
3 * 包含的头文件
4 *************************************************************************
5 */
6 #include "board.h"
7 #include "rtthread.h"
8
9
10 /*
11 *************************************************************************
12 * 变量
13 *************************************************************************
14 */
15 /* 定义线程控制块 */
16 static struct rt_thread led1_thread;
17
18 /* 定义线程控栈时要求 RT_ALIGN_SIZE 个字节对齐 */
19 ALIGN(RT_ALIGN_SIZE)
20 /* 定义线程栈 */
21 static rt_uint8_t rt_led1_thread_stack[1024];
22 /*
23 *************************************************************************
24 * 函数声明
25 *************************************************************************
26 */
27 static void led1_thread_entry(void* parameter);
28
29
30 /*
31 *************************************************************************
32 * main 函数
33 *************************************************************************
34 */
35 /**
36 * @brief 主函数
37 * @param 无
38 * @retval 无
39 */
40 int main(void)
41 {
42 /*
43 * 开发板硬件初始化,RTT 系统初始化已经在 main 函数之前完成,
44 * 即在 component.c 文件中的 rtthread_startup() 函数中完成了。
45 * 所以在 main 函数中,只需要创建线程和启动线程即可。
46 */
47
48 rt_thread_init(&led1_thread, /* 线程控制块 */
49 "led1", /* 线程名字 */
50 led1_thread_entry, /* 线程入口函数 */
51 RT_NULL, /* 线程入口函数参数 */
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值