
RT-Thread
文章平均质量分 96
主要记录了本人在学习RT-Thread的知识总结。
嵌入式JunG
生活中充满了嵌入式和鸡哥
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
基于STM32F412+RT-Thread的智能汽车CAN通信仪表盘
1、上位机运行“CAN Pro协议分析平台”软件,通过CAN分析仪向迪文屏(含协议转换板)发送CAN协议数据;2、协议转换板将CAN协议数据转换成迪文屏协议(串口)数据;3、协议转换板通过向迪文屏传输迪文协议串口数据,控制迪文屏显示汽车仪表盘相关数据;4、迪文屏的触摸控件会输出迪文协议串口数据,称为“迪文屏上传数据”;5、协议转换板将上传数据转换为CAN协议数据,传输给上位机;6、协议转换板可以通过J-Link和运行在主机上的串口助手,输出调试信息。上位机(Windows)迪文屏(含协议转换板)原创 2025-07-12 18:30:00 · 667 阅读 · 0 评论 -
迪文屏开发指南(下)
从迪文屏开发指南(中)介绍的显示控件和触控控件不难发现,两种控件已经能完成丰富和复杂的应用功能。但是,将两者结合起来,能实现更强大的功能。原创 2025-07-09 15:00:00 · 716 阅读 · 0 评论 -
迪文屏开发指南(中)
虽然两个拖动调节控件已经能够与滑动刻度指示同步,但是,其数值与“本车质量”、“道路坡度”的实际数值并不匹配:本车质量数值范围在[0, 50000],道路坡度数值范围在[-90, 90],而拖动调节控件的“输出”数值范围都是[0, 1000]。在本项目中,“本车质量”和“道路坡度”是用滑块刻度指示实现的。这里我们不难注意到,我们最先输入的是5,后面的数值越来越大,在曲线中应该呈现的是上升趋势,但是我们的结果恰好相反,原因是我们的曲线移动方向为从左到右,第一个输入的数据会往右平移,所以曲线与输入的数据相反。原创 2025-07-09 14:45:00 · 1104 阅读 · 0 评论 -
迪文屏开发指南(上)
迪文屏背面外壳:迪文屏/协议转换板电路板:KF2EDGK(插拔式接线端子)接口定义:DGUS 开发体系是由 DGUS 屏和 DGUS 开发软件构成的。DGUS 是 DWIN Graphic Utilized Software 的缩写。DGUS 屏是基于配置文件来工作的,所以整个开发过程是用户利用 PC 端 DGUS 开发软件辅助设计完成变量配置文件的过程。(1)变量规划:用户可在做工程前制作一个表格,将所需要的变量地址做一个框定和规划,以便后续工程的修改和维护。原创 2025-07-09 14:00:00 · 1573 阅读 · 0 评论 -
Env开发工具使用
Env 是 RT-Thread 推出的开发辅助工具,针对基于 RT-Thread 操作系统的项目工程,提供编译构建环境、图形化系统配置及软件包管理功能。其内置的 menuconfig 提供了简单易用的配置剪裁工具,可对内核、组件和软件包进行自由裁剪,使系统以搭积木的方式进行构建。原创 2025-06-18 00:45:00 · 1083 阅读 · 0 评论 -
RT-Thread Studio配置实现温湿度上传云平台
然后我们还看到有发布和订阅的主题,我们还是用阿里云物联网平台的产品支持的topic:根据自己的需求以及topic的权限,可以自定义topic,也可以直接使用系统支持的,我们这里就选择订阅。原创 2025-06-13 00:30:00 · 807 阅读 · 0 评论 -
RT-Thread Studio 配置使用详细教程
它说现在仅支持I2C,但是我们想要的是SPI接口的,不满足,所以就不添加软件包到工程,但是这个软件包依然有参考意义,看一下别人是如何实现RTT下的SSD1306驱动的,可以尝试移植,这时候我们就可以点击边上的“github”把源码clone下来参考。将我们需要的代码添加到rtt studio工程之后,为了能够编译通过,我们需要将cubemx settings生成的文件夹cubemx中的一些文件或者全部文件排除构建,比如main.c,一个工程不可能存在两个同名的.c源文件,还有新生的。原创 2025-06-13 00:15:00 · 3581 阅读 · 0 评论 -
RT-Thread——事件集
脱离事件集,就是。原创 2025-06-12 00:30:00 · 865 阅读 · 0 评论 -
RT-Thread——互斥量
脱离互斥量,就是。原创 2025-06-12 00:30:00 · 956 阅读 · 0 评论 -
RT-Thread——信号
信号的发送者、接收者都是线程:线程发信号给线程,尚不支持中断发信号给线程。线程中可以安装好几个信号,根据需求选择使能部分信号,则这部分信号才能传达给该线程。分别创建一个接收信号函数和一个发送信号函数,在虚拟机上执行观察接收执行情况。当需要某线程进行异常处理时,如果该线程安装了某信号,则使用。如果线程需要处理某一个信号,就需要现在线程中安装该信号。如果屏蔽该信号,就该信号不会传达给安装该信号的线程。可见接收成功后打印获得信号字符,并显示获得几次信号。使用信号时,需要先安装、屏蔽/使能、发送和等待。原创 2025-06-11 00:30:00 · 884 阅读 · 0 评论 -
RT-Thread——信号量
信号量就像队列、邮箱一样,是用来在这种情况下我们只需要维护一个数值,使用信号量效率更高、更节省内存。原创 2025-06-11 00:30:00 · 1676 阅读 · 0 评论 -
RT-Thread——邮箱
使用消息队列可以传递各类大小的消息,它使用 memcpy 的方式写入消息、读出消息。如果我们只是传递很小的数据,比如一些数值,可以使用邮箱:它的效率更高。原创 2025-06-10 15:37:02 · 854 阅读 · 0 评论 -
RT-Thread——消息队列
消息队列可以用于"线程到线程"、“线程到中断”、"中断到线程"直接传输信息。原创 2025-06-10 15:36:49 · 1106 阅读 · 0 评论 -
RT-Thread——线程管理(下)
在 RT-Thread_03_delete_task 的实验里,我们提到空闲线程(Idle 线程)的作用:释放被删除的线程的内存。除了上述目的之外,为什么必须要有空闲线程?一个良好的程序,它的线程都是事件驱动的:平时大部分时间处于挂起状态。有可能我们自己创建的所有线程都无法执行,但是调度器必须能找到一个可以运行的线程:所以,要提供空闲线程。空闲线程优先级最低:它不能阻碍用户线程运行空闲线程要么处于就绪态,要么处于运行态,永远不会挂起空闲线程的优先级为最低,这意味着一旦某个用户的线程变为就绪态,那么。原创 2025-06-09 22:07:32 · 962 阅读 · 0 评论 -
RT-Thread——线程管理(上)
在 RT-Thread_04_task_priority 实验中,如果把线程 3 中的 rt_thread_delay 调用注释掉,那么线程 1、线程 2 根本没有执行的机会。但不同于裸机系统,RTOS 存在多个线程,每个线程是独立互不干扰的,因此需要为每个线程都分配独立的栈空间,这就是线程栈。它存放线程的一些信息,例如优先级、线程名称、线程状态等,也包含线程与线程之间连接用的链表结构,线程等待事件集合等。rt_thread 描述了一个线程执行的运行环境,也描述了这个线程所处的优先等级。原创 2025-06-09 22:07:19 · 1321 阅读 · 0 评论 -
RT-Thread——内存管理
内存的动态管理是 C 程序的知识范畴,并不属于 RT-Thread 的知识范畴,但是它跟 RT-Thread 关系是如此紧密,所以我们先了解它。使用内存的动态管理功能,简化了程序设计:不再需要小心翼翼地提前规划各类对象,简化API 函数的涉及,甚至可以减少内存的使用。当系统内存比较大,我们可以提前分配好若干大小的内存块,直接供给线程使用,可以一定程度的提高效率,但会浪费一些内存。小内存管理算法需要频繁的分配、释放内存,可能会影响系统效率。在嵌入式系统中,除了芯片内部的内存,可能还会外扩内存。原创 2025-05-21 23:32:01 · 1069 阅读 · 0 评论 -
RT-Thread——快速入门
以RT-Thread 源码(V3.1.5)为例,它的目录如下:主要涉及3个目录:以理解、使用RT-Thread 为目标的话,最核心的文件只有5个:这些文件的作用列表如下:移植RT-Thread,包含CPU 部分移植和BSP 部分移植。CPU 部分移植就是移植libcpu 目录,主要涉及 和。比如: 和 ,这表示 Cortex-M3 架构在 RVDS 或Keil 工具上的移植文件如果RT-Thread 还没支持你使用的CPU,你才需要实现这两个文件。一般来说,对于大部分的CPU, RT-Thread都已经支持原创 2025-05-21 18:58:08 · 2597 阅读 · 0 评论