RT-Thread 的定时器提供两类定时器机制:第一类是单次触发定时器,这类定时器在启动后只会触发一次定时器事件,然后定时器自动停止。第二类是周期触发定时器,这类定时器会周期性的触发定时器事件, 直到用户手动的停止定时器否则将永远持续执行下去。 RT-Thread 的定时器可以设置为 HARD_TIMER (硬件)模式或者 SOFT_TI...
rt_ubase_t init_tick;/* 线程初始化计数值 */rt_ubase_t remaining_tick;/* 线程剩余计数值 */struct rt_timer thread_timer;/* 内置线程定时器 */void(*cleanup)(struct rt_thread*tid);/* 线程退出清除函数 */rt_uint32_t user_data;/* 用户数据 */}; 代码语言:javascript 代码运行次数:0 复制...
";static char mb_str3[] = "over";/* 线程 1 入口 */static void thread1_entry(void *parameter){char *str;while (1){rt_kprintf("thread1: try to recv a mail\n");/* 从邮箱中收取邮件 */if (rt_mb_recv(mb_handle, (rt_ubase_t *)&str, RT_WAITING_FOREVER) == RT_EOK){rt_kp...
RT-Thread 是一款完全由国内团队开发维护的嵌入式实时操作系统(RTOS),具有完全的自主知识产权 。 RT-Thread,全称是 Real Time-Thread,它是一个嵌入式实时多线程操作系统,基本属性之一是支持多任务。在 RT-Thread 系统中,任务是通过线程实现的。 RT-Thread 主要采用 C 语言编写,浅显易懂,方便移植。它把面向对象的...
因为RTOS 中的任务更类似于通用操作系统中的线程,并且这个系统支持基于优先级的抢占式任务调度算法。所以把它命名为 RT-Thread,即实时线程。 后来又加了好多官方群,算得上 RT-Thread 的忠实粉丝了。 2. 入门 RT-Thread 由于时间原因,一直没有真正开始学习 RT-Thread。直到 2018 年官方组织 15 天入门 RT-Thread...
RT-Thread文档中心链接:https://www.rt-thread.org/document/site/ 百度网盘地址:https://pan.baidu.com/s/1pAhjlSxzLdJ68kDjNJXJgA 提取码:46qf 在RT-Thread官网的文档中心有官方的入门教程,RT-Thread内核的视频讲解,强烈建议大家多去看一下,里面有很多常用的例子,介绍写的非常详细。你们也可以尝试根据官方的...
一、简介 RT-Thread 是一款主要由中国开源社区主导开发的开源实时操作系统(许可证GPLv2)。实时线程操作系统不仅仅是一个单一的实时操作系统内核,它也是一个完整的应用系统,包含了实时、嵌入式系统相关的各个组件:TCP/IP协议栈,文件系统,libc接口,图形用户界面等。
系统先从启动文件开始运行,然后进入 RT-Thread 的启动入口rtthread_startup(),最后进入用户入口main()。 以MDK-ARM为例,RT-Thread 启动流程,如下图所示: 系统启动后,先从汇编代码startup_xx.s开始运行,然后跳转到 C 代码,进行 RT-Thread 系统启动,最后进入用户程序入口main()。
首先定义一个线程控制块指针(线程句柄),然后调用rt_thread_create()函数创建线程。 此线程的名字为“thread_test”;线程入口函数thread_entry;入口函数的参数为RT_NULL,无入口参数;线程栈的大小为 512 字节;线程优先级为 10;线程时间片为 5。 2. 静态创建线程 ...
FinSH 是 RT-Thread 的命令行组件,类似于 Linux 下的 shell,提供了一套供用户在命令行调用的操作接口,主要用于调试或查看系统信息,它可以使用串口、网口、USB 等与 PC 进行通信。 当使用串口连接设备与控制终端时,FinSH 命令的执行流程如图: 用户在控制终端输入命令,控制终端通过串口、 USB、网络等方式将命令传给...