找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 6270|回复: 3

【ai2与ev3】第2课mailbox命令解析

[复制链接]
发表于 2015-2-12 22:13:53 | 显示全部楼层 |阅读模式
第1课发送的命令15- 0-1-0-129-158-4-97-98-99-0-4-0-0-0-128-63,是利用了乐高的direct command,也就是直接发送蓝牙数据控制ev3,相关源码在git上的c_com.h文件中,但是初学者看起来也头晕。首先命令是16进制的,ai2中发送的是10进制的,所以中间有个转换。
第1位15是变化的,可以看做list长度-2,表示数据长度,涉及到对齐方式等,初学者可忽略,记住长度-2即可。
第2-6位可以看作是mailbox的固定格式,129,158转换为16进制就是官方文档16进制的81,9E。
第7位4是mailbox标题名的长度,如abc加上0(表示终止),长度为4,如果标题是a,则长度为2。
第8-10位表示abc的asiic码,可以查表,http://wenku.baidu.com/link?url= ... Yft-2uYSZyMtpvuVwJK
第11位0表示终止
第12位表示传送的数据长度,发送数字固定为4,如果是字符串,则为字符加1。如发送abc,则为4,如是逻辑长度为1。
第13位0表示终止
第14-17位 数字为对应的float值,四个位置,换算起来比较复杂,常见的如下表。如是逻辑,真为1,假为0。如是字符串,也是ascii码表,最后接0。

0
0,0,0,0
1
0,0,128,63
2
0,0,0,64
3
0,0,64,64
10
0,0,32,65
11
0,0,48,65
0.1
205,204,204,61
0.01
10,215,35,60
-1
0,0,128,191
-2
0,0,0,-192
上面一些深入理解比较复杂,主要还是记住哪些是变动,便于日后封装。
如发送字符串ab到mialbox(abc),则为14        0        1        0        129        158        4        97        98        99        0        3        0        97        98        0

如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2015-2-18 13:15:26 | 显示全部楼层
这个很有用,要是能解析下ev3的蓝牙协议就好了。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2015-2-25 19:36:00 | 显示全部楼层
太深奥了,看起来好难
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2017-7-14 15:25:59 | 显示全部楼层
楼主可以问一下 第14-17位的数字应该怎么换算 可不可以换算更多的数值
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

手机版|中文乐高 ( 桂ICP备13001575号-7 )

GMT+8, 2024-11-24 02:48 , Processed in 0.087952 second(s), 21 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表