一、工具安装及使用
Asn1c编解码器代码git:https://github.com/vlm/asn1c 当前主线版本为0.9.29 发布最新版本为0.9.28。
将文件解压后,依次执行 (1)test -f configure || autoreconf -iv (2)./configure (3)make (4)make install 即可完成安装,安装完成后可通过man asn1c查看命令
使用命令 asn1c *.asn 即可将asn文件转换并生成 *.c 和 .h文件
二、uper编解码
引用所要编码的结构体的头文件,对结构体进行填充,最后使用uper_encode函数即可将所传输的数据进行编码,具体见demo。
编码的简单的流程为:
调用函数的入参及数据的填充,可参考demo。
解码的简单流程为:
在解码后根据结构体中的present判断当前数据的类型,详细枚举值见demo。
三、注意事项
(1)BSM数据中id要填充,否则会报错,msgFrame无法编码
(2)0.9.29与0.9.28版本的uper_encode编码函数的入参不一样。0.9.29多了一个入参,填0即可。
(3)函数Decode_Receive调用后,需要将返回值的内存释放掉。应调用V2X_DecodeBufFree,否则存在内存泄漏的问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)