举例:
错误示范:
UINT8 mem_buf[8192];
INT32 mem_len = sizeof(mem_buf);
ret = dlt698_shortframe_decode(recv_frm_buf, len, &recv_frm, &recv_apdu, (VOID **)&mem_buf, &mem_len);
这里需要注意的是:&mem_buf 等同于 &mem_buf[0] 并等同于 mem_buf ,这里的本意是(VOID **)&mem_buf 是双指针指向数组的首地址,但是如果填写&mem_buf 这仅仅是单指针。故需要转换一下如下:
正确示范:
UINT8 mem_buf[8192];
UINT8 *pmem_buf = mem_buf;
INT32 mem_len = sizeof(mem_buf);
ret = dlt698_shortframe_decode(recv_frm_buf, len, &recv_frm, &recv_apdu, (VOID **)&pmem_buf, &mem_len);
INT32 dlt698_shortframe_decode(UINT8* frame_buff, INT32 frame_len, Dlt69845Frame_t** out_frame, Apdu_t** out_apdu, void** membuff, INT32 *membuff_len)