RT-Thread 入门学习笔记 - 熟悉邮箱rt_mailbox的使用
简介
- 邮箱是用来传输邮件的,如果没人取件,会暂存下来。
- RT-Thread的邮箱,传递的是一个4字节(32位)值,可以传值,可以传指针(32位MCU,指针为32位)。
- 邮箱使用比消息队列更精简,简单的命令的传输,可以使用邮箱,资源占用可以更小。
相关API
- 在rt-thread内核代码:
rtthread.h
中,可以找到邮箱的各个API - 邮箱API的实现,在:
ipc.c
,可以认为邮箱属于线程间通信的一种。 - 邮箱:mailbox相关API如下
rt_mb_init \ rt_mb_detach :静态初始化 \ 脱离,成对使用。
rt_mb_create \ rt_mb_delete : 动态创建 \ 删除,成对使用。
一般邮箱初始化后,就不再删除,可以使用静态初始化的方式。
rt_mb_send : 发送邮件,可以工作在在线程、回调函数里
rt_mb_send_wait :有超时的发送,工作在线程
rt_mb_recv :等待接收邮件,注意是队列式的接收,工作在线程里,循环等待接收
rt_mb_control : 提供一个初始化RESET邮箱的命令,不常用。
RT-Thread 入门学习笔记 - 熟悉邮箱rt_mailbox的使用相关推荐
- RT-Thread 入门学习笔记 - 熟悉$Sub$$main与$Super$$main
前言 学习RT-Thread内核,需要了解内核是怎么工作的,main函数的位置 如基于STM32的RT-Thread,ST会提供STM32的启动文件,启动文件调用执行:__main RT-Thread ...
- RT-Thread 入门学习笔记 - 熟悉全局中断的操作
前言 在RT-Thread中,全局中断的操作很多,大家都知道全局中断的[disable]与[enable] 需要正确的理解全局中断的disable与enable. 如下,保证链表的正确操作,[中断保护 ...
- STM32 + RT Thread OS 学习笔记[五]
1. 触摸屏驱动 触摸屏驱动的原理非常简单,从硬件得到坐标数据,数据加工(适配屏幕分辨率,偏移量调整),最后调用rtgui_server_post_event()函数向GUI服务端发送坐标信息. 奋 ...
- RT-Thread 入门学习笔记 - 解决RT_ASSERT失效的问题
RT-Thread 入门学习笔记 - menuconfig Kconfig的使用 RT-Thread 入门学习笔记 - 熟悉动态内存申请与释放 RT-Thread 入门学习笔记 - 查看线程栈的地址 ...
- Crypto++入门学习笔记(DES、AES、RSA、SHA-256)
Crypto++入门学习笔记(DES.AES.RSA.SHA-256) 背景(只是个人感想,技术上不对后面的内容构成知识性障碍,可以skip): 最近,基于某些原因和需要,笔者需要去了解一下Crypt ...
- Python快速编程入门#学习笔记03# |第二章 :Python基础(代码格式、标识符关键字、变量和数据类型、数字类型以及运算符)
全文目录 ==先导知识== 学习目标: 2.1 代码格式 2.1.1 注释 2.1.2 缩进 2.1.3 语句换行 2.2 标识符和关键字 2.2.1 标识符 2.2.2 关键字 2.3 变量和数据类 ...
- 机器学习入门学习笔记:(3.2)ID3决策树程序实现
前言 之前的博客中介绍了决策树算法的原理并进行了数学推导(机器学习入门学习笔记:(3.1)决策树算法).决策树的原理相对简单,决策树算法有:ID3,C4.5,CART等算法.接下来将对ID3决策树算法 ...
- Qt 快速入门学习笔记
Qt 快速入门学习笔记 环境安装 环境配置以及安装 安装包下载地址 1.windows安装 msvc编译器模块需要安装Windows软件开发工具包. MinGW是Windows平台使用GNU工具导入库 ...
- ROS中的roslaunch命令和launch文件(ROS入门学习笔记四)
ROS中的基本对象和概念学习笔记(ROS入门学习笔记一) ROS中创建工作区和包(ROS入门学习笔记二) ROS功能包中CMakeLists.txt的说明(ROS入门学习笔记三) 1.roslaunc ...
最新文章
- 为什么医学影像AI已进入「后深度学习时代」?
- NLP——基于transformer 的翻译系统
- android adb打开gps,adb 命令行模拟GPS位置信息
- 5月22日阿里云网络变更公告
- windows10使用多套public key pair进行SSH连接github的配置文件
- abap 创建出口历程_SAP abap 需找出口(BADI)的几种方法
- CentOS安装Nagios网络监视工具
- linux 分隔大文件,linux系统下分割大文件的方法
- Linux笔记-解决iptables配置后,本机无法访问本机,本机无法访问其他主机问题
- UISC-User Interface States Control ;Murphy 用户界面状态控制(Beta)
- linux目录表及功能n鸟哥,鸟哥linux学习之-文件属性跟系统目录
- 概率论经典问题 —— 三个事件 A、B、C 独立 ≠ 三个事件两两独立
- Spring.Net的AOP的通知
- 红外传感器型号和参数_深度解析红外传感器原理、分类、性能参数、应用及前景...
- python生成三对角矩阵_使用Python的三对角矩阵
- CGB2202语言基础第1天
- iPhone 5福音 网友发布Nano-SIM剪卡教程
- 如果你对未来还有点迷茫不妨来看一下,必看的软件测试指引!!!
- 企业微信官方认证的好处是什么?
- 基于Mui与H5+开发webapp的Android原生工程打包步骤(使用新版本5+SDK与Android studio)(部分内容转自dcloud官网)...