mirror of
https://gitee.com/cosyos/cosyos.git
synced 2026-02-05 19:39:42 +08:00
@@ -213,16 +213,18 @@ CosyOS-II 中断挂起服务缓存队列(PendSV_FIFO),已实现所有内
|
||||
|
||||
### 飞信
|
||||
典型特征:极简类型、极速通信;<br>
|
||||
飞信是轻量型的、超高速的线程通讯工具。<br>
|
||||
飞信是轻量型的、超高速的线程通讯工具,针对不同的MCU内核,都要求数据类型必须是原子访问类型。<br>
|
||||
1、8051内核,飞信固定为1字节无符号类型(uint8_t);<br>
|
||||
2、80251内核,飞信固定为2字节无符号类型(uint16_t);<br>
|
||||
3、Arm32内核,飞信固定为4字节无符号类型(uint32_t)。<br>
|
||||
飞信仅使用一个变量,即是消息,同时又是新消息标志。<br>
|
||||
飞信为0时,表示无消息;飞信非0时,表示有消息。因此,用户传输的有效消息必须为真值。<br>
|
||||
飞信仅使用一个变量,同时即是消息又是新消息标志。<br>
|
||||
飞信为0时,表示无消息;飞信非0时,表示有消息;因此,用户传输的有效消息必须为真值。<br>
|
||||
|
||||
### 私信
|
||||
典型特征:随意定义、灵活多变;<br>
|
||||
私信是CosyOS独创的一种任务间通信方式,其本质就是任务线程的形参,功能上相当于消息邮箱。它的主要优势在于易用性,私信参数(数量、名称、类型)可随意定义,较传统的消息邮箱应用更为便利。缺点是私信只能发给任务,中断中不能发送私信。<br>
|
||||
私信是CosyOS独创的一种任务间通信方式,其实质就是任务线程的形参,并以“调用任务”的方式发送私信。<br>
|
||||
它的主要优势在于易用性,私信参数(数量、名称、类型)可随意定义,与普通函数定义形参如出一辙。<br>
|
||||
缺点是私信只能发送给任务,中断中不能发送私信。<br>
|
||||
* **私信报警** <br>
|
||||
当您使用私信时,编译后会有报警提示。具体表现为,您定义的每个私信参数都对应一个未引用的局部变量(参数),名称为私信参数的名称后面加_。如下方示例,某个任务创建了私信,共有三个参数p、a、b,则相应的会有报警p_、a_、b_,三个未引用的局部变量(参数),但这并不会影响私信功能的正常使用,用户可不必理会或在C51、C251、C/C++标签页屏蔽掉相应的报警。<br>
|
||||
<br>
|
||||
@@ -235,9 +237,19 @@ Cortex-M内核,报警为warning: #177-D。<br>
|
||||
|
||||
### 消息邮箱
|
||||
典型特征:任意类型、数据拷贝;<br>
|
||||
1、CosyOS的消息邮箱支持随意定义数据类型,包括结构体、数组等。<br>
|
||||
2、CosyOS的消息邮箱仅能保存一封邮件,如果收件速度低于发件速度,会导致邮件覆盖。<br>
|
||||
3、消息邮箱虽支持随意定义数据类型,但建议不要太大,以免影响系统实时性。<br>
|
||||
|
||||
### 消息队列
|
||||
典型特征:并发发送、指针引用;<br>
|
||||
CosyOS的消息队列包括静态队列和动态队列。<br>
|
||||
静态队列,收发消息的效率高,队列占用固定的内存;<br>
|
||||
动态队列,收发消息的效率低,接收消息后,队列内存可被回收。<br>
|
||||
|
||||
每个消息队列,用户应当自己明确消息的类型和size,此事与CosyOS无关。<br>
|
||||
每一处发送消息,消息缓存都是独享的,可静态创建(定义静态数组)或动态创建(动态内存分配)。<br>
|
||||
对于动态创建的消息缓存,在消息使用完以后,用户应当自己释放消息指针。<br>
|
||||
|
||||
## 第四章、线程同步
|
||||
|
||||
|
||||
Reference in New Issue
Block a user