消息传递模块用于在 EV3 程序块之间发送蓝牙消息。要发送或接收消息,必 须先通过程序块蓝牙菜单或通过蓝牙连接模块连接 EV3 程序块。
有关更多信息,请参见蓝牙连接模块部分。
使用模式选择器可选择所需消息传递模块工作方式。选择模式之后, 可以为输入选择值。可用输入会 因模式而异。下面介绍了模式和输入。
模式:发送、接收、比较 消息以三个组件为特征
1. 在其之间传递消息的程序块
2. 标识消息的消息标题
3. “消息”值。这可能是文本、数字或逻辑
发送
“发送”模式(文本、数字或逻辑) 通过蓝牙将消息发送到连接的 EV3 程序块。可以使用接收程序块 名称输入选择要将消息发送到的 EV3 程序块。 消息标题用于唯一地标识所发送的消息。
使用的输入:接收程序块名称、消息
接收
“接收”模式(文本、数字或逻辑)通过蓝牙从连接的 EV3 程序块接收消息。 接收的消息输出在接收了消息之前为 “伪”。可从消息输出获取接收的消息。
消息标题用于唯一地标识所接收的消息。 使用的输入和输出:接收的消息、消息
示例
EV3 程序块(名为 Leo)收集一个颜色传感器读数并将其发送到另一个 EV3 程序块(名 为 Kim)。Kim 会等待,直到收到消息。此消息随后会显示在其显示屏上。
Leo 的程序部分
Kim 的程序部分
通过消息标题可以在 EV3 程序块之间发送多个信息流。例如,一个程序块可以在相同程 序中发送名为“Color”和“Rotations”的消息。
比较
“ 比较”模式(文本、数字或逻辑) 将接收的消息与现有值进行比较。如果满足条件, 则比较结果输出 为“真”。如果不满足条件,则比较结果输出为“伪”。
数字:接收的消息根据以下逻辑运算符之一与阈值进行比较。
• 等于 (0)
• 不等于 (1)
• 大于 (2)
• 大于或等于 (3)
• 小于 (4)
• 小于或等于 (5)
文本:接收的消息根据以下逻辑运算符之一与比较文本进行比较。 • 等于 (0)
• 不等于 (1)
逻辑:接收的消息在“ 比较结果” 中输出
消息传递模块的输入控制消息传递工作方式的详细信息。可以将输入值直接输入到模块中。或者, 可 以通过数据线从其他编程模块的输出提供值。可用输入及其功能取决于选择的模式。
输入 |
类型 |
备注 |
消息标题 |
文本 |
|
接收程序块名称 |
文本 |
如果此字段保留为空,则会广播消息。 |
消息 |
文本、数字或逻辑 |
|
比较类型 |
数字 |
具有阈值或比较文本的消息比较模式比较类型。 0:=(等于) 1:≠(不等于) 2:>(大于) 3:≥(大于或等于) 4:<(小于) 5:≤(小于或等于) |
阈值 |
数字 |
|
比较文本 |
文本 |
|
可用输出取决于所选模式。要使用某个输出,请使用数据线将该输出连接到另一个编程模块。
输出 |
类型 |
备注 |
消息 |
文本、数字或逻辑 |
比较类型的结果 |
比较结果 |
文本、数字或逻辑 |
比较类型的结果 |