使用浏览器打开RT-Thread官网,选择左上角资源点击RT-Thread Studio,打开RT-Thread Studio页面,点击立即下载 在弹出的下载页面,选择点击网站下载 安装 打开下载的软件包RT-Thread Studio-v2.2.6-setup-x86_64_202305191040.exe,点击下一步(N) 点击我同意此协议(A),然后点击下一步(N) 点击浏览(R)...选择
rt_device_write(dev_uart4, 0,recv_buffer, index);//给串口返回写入接收到的数据 index = 0;//索引清零 数组可以重复接收使用 } return RT_EOK; } 之前项目中使用串口设备对AT设备进行接收和写入的一些例子
总体上,FinSH(msh)和Linux在使用功能上非常相似 FinSH(Fin Shell)是一款嵌入式Shell(命令行接口),主要用于RT-Thread实时操作系统。RT-Thread是一个开源的轻量级实时操作系统,广泛应用于各种嵌入式设备中。FinSH作为其组件之一,提供了一个非常实用的命令行界面,允许开发者和系统管理员通过命令行直接与操作系统交互,极大...
voidt_ledr_entry(void*parameter){while(1){HAL_GPIO_TogglePin(ledr_GPIO_Port,ledr_Pin);rt_thread_mdelay(500);}} 为了方便管理,给每个线程都设置一个启动函数,分别写入参数,然后返回线程的地址给我们之前定义的一个全局变量t_ledr。 int8_tledr_start(){t_ledr=rt_thread_create("ledr",t_ledr_...
要想使用好rtos,做出更加稳定可靠的产品,必须非常清楚底层的调度原理。由于RTOS的可控性,所以只有了解了其核心部分的设计思路,才能用起来得心应手,游刃有余。本文主要是听完熊大对rt-thread调度讲解之后,自己做了一些反思总结,打算分享一下rt-thread线程的调度与管理相关的比较核心和重要的部分的笔记。 1.调度是什么?
当然,总体来说,使用起来还是很舒服的。 一、准备一个完整的工程 可以新建一个工程,也可以直接使用官方的bsp源码,具体就不多说了,可以参考我的博文:RT-Thread零基础快速入门第1讲——新建工程 二、打开配置页面 在工程的根目录下打开env,输入menuconfig,进入配置菜单,选择RT-thread online packages,这里面的全都是...
在RT-Thread 实时操作系统中,创建线程可以使用rt_thread_init和rt_thread_create两种不同的方式。这两种方式的差别主要是 预先分配还是动态分配线程控制块和线程堆栈内存。 1. 使用rt_thread_create函数创建线程 rt_thread_create是一种动态创建线程的方法。该函数会在运行时分配线程控制块和线程栈的内存空间。这种方式...
【玩转RT-Thread】 RT-Thread Studio使用(2) 内核实战篇(线程) 一、线程创建 1、函数原型 // 线程创建rt_thread_t rt_thread_create(const char* name,void (*entry)(void* parameter),void* parameter,rt_uint32_t stack_size,rt_uint8_t priority,rt_uint32_t tick); ...
信号量(Semaphore),有时被称为信号灯,是在多线程环境下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用。在进入一个关键代码段之前,线程必须获取一个信号量;一旦该关键代码段完成了,那么该线程必须释放信号量。 RT-Thread 的信号量有静态和动态,这里同线程的静态和动态是一个意思。对信号量有两...