首页
教程
无人机教程
手持教程
后期教程
作品
航拍无人机
DJI Mavic
DJI Avata
DJI Mini
DJI FPV
DJI Air
Phantom
Inspire
其他
手持摄影
创意摄影
DJI Mic
Osmo Action
Osmo Mobile
Osmo Pocket
Ronin
商用产品
行业应用
教育应用
农业应用
咨询
官方公告
售后服务
查禁飞区
其他
活动
官方活动
城市摄影大赛
大疆校园
同城约飞
每日签到
其他
发帖
登录
注册
feier2009
已累计飞行 0 米
发布于
2015-9-3
浏览
4.9k
相关分类
SDK
Onboard-SDK
0
0
6
0
6 条评论
最新
最早
快来评论吧
X43A
7
已累计飞行 0 米
数据帧对其做了没???
2015-9-9
DJI-PSY
6
已累计飞行 0 米
你好,输入的数据串pMsg可能有结构体对齐的问题。请问你怎么把字符给进去的?
2015-9-9
feier2009
5
已累计飞行 0 米
你好,我后台就是官方的CRC32校验函数的,没有任何修改,直接使用了这2段函数。 [attach]52321[/attach][attach]52322[/attach]
2015-9-7
DJI-PSY
4
已累计飞行 0 米
你好请用官方的CRC32函数
2015-9-7
feier2009
3
已累计飞行 0 米
谢谢你的回复,我现在还有一个问题请教你,我已经把官方CRC校验函数拿出来用了,我发现CRC16校验帧头完全正确,但是我用CRC32去校验 帧头(包括CRC16在内)+数据段,发现得出的校验码和飞控发回的校验码不一样,你帮我看看好吗?
这是飞控发给电脑的帧:AA 12 00 22 00 00 00 00 0A 00
2A 8C
03 00
D5 8C CD 34 (2A 8C是CRC16校验码,03 00是data,
D5 8C CD 34是CRC32校验码
)
我把帧头
AA 12 00 22 00 00 00 00 0A 00 放到CRC16校验函数中校验得出2A 8C,完全正确,和飞控发给电脑的完全一样...........................................................................
[attach]52158[/attach]
但是我我把
AA 12 00 22 00 00 00 00 0A 00
2A 8C
03 00
放到CRC32函数中校验得出的结果
2D 02 90 72
,和大疆飞控后面的校验码
D5 8C CD 34
完全不一样啊。
[attach]52157[/attach]
2015-9-7
DJI-PSY
2
已累计飞行 0 米
你好,CRC16的函数在官方代码里可以找到。
https://github.com/dji-sdk/Onboa ... c/DJI_Pro_Codec.cpp
一些加密过程的解释: 加密只加密data段 加密之后data段的长度变了,所以帧长度LEN也变了,这样帧头就变了。 所以要生成一个新的帧头的CRC16, 最后再根据新的帧头和加密的data段生成新的CRC32
2015-9-6
暂无更多评论
关于作者
已累计飞行 0 米
feier2009
见习飞行学员
认证设备
暂无关联认证的设备
最新帖子
更多
M100协议中的CRC校验问题。。。。。。。。。