4个帖子/ 0新
最后一篇文章
莲花2
离线
最后一次露面:2年9个月前
加入:2016-05-30 12:17
关键词CRC校验功能怎么使使用

今天看了一下一下5.150的代码代码找到有crc校验,后面从3.70里面有着疑似rc的代码。
静态void app_neb_msg_msg_tx_insert_crc(uint8_t * p_params,uint16_t长度)
静态BOOL APP_NEB_MSG_CRC_CHECK(UINT8_T * P_PARAMS,UINT16_T长度)

1)这两个是crc校验的吗?
3)怎么怎么用?

关键词:
设备:
Gongyu_dialog.
离线
最后一次露面:3天21小时前
加入:2016-04-27 07:07
看你crc是怎么定义的。

看你crc是怎么定义的。
而你提到的两两数,是使用加载的方式。

莲花2
离线
最后一次露面:2年9个月前
加入:2016-05-30 12:17
我看了下的CRC的代码。有2次个

我看了下的CRC的代码。有2次个
我看到两个指针都都都减去减去uint8_t和uint16_t的字节数

1)第一疑问:
静态void app_neb_msg_msg_tx_insert_crc(uint8_t * p_params,uint16_t长度)
{
UINT8_T CRC = 0x00;
uint8_t * p_crc = p_params +长度 - sizeof(uint8_t);
uint8_t * p_start = p_params - sizeof(uint16_t);

//在数据包中添加所有字节
而(p_start {
crc + = *(p_start ++);
}

// 1s补充
crc =〜crc;

* p_crc = crc;
}

是不是是指针p_params指向的内存字节段长为长度,最后一位要包括一个的crc。
所以p_crc就就p_params +长度 - 尺寸(uint8_t)?

2)第二个疑问
uint8_t * p_start = p_params - sizeof(uint16_t);

p_start指针要从p_params起减掉2个字节。这是要干嘛?
是说p_params前面2个字节的内容也要一道校验吗?

Gongyu_dialog.
离线
最后一次露面:3天21小时前
加入:2016-04-27 07:07
1.为GTL的数码格式是,可以是查UM-B-017

1.为GTL的数码格式是,可以是查UM-B-017

类型(2)/ dst_id(2)/ src_id(2)/ par_len(2)/参数(n)

查看查看数app_neb_msg_tx_confirm。里面p_msg指向参数字段的首地。

所以
问题1:看到次数app_neb_msg_tx_insert_crc(p_msg,msg-> param_length + 4)
长度“+4”只前面3个字节,再加1个字节的crc现处于末尾

问题2,对,需要加上的par_len(2字节)