ASN1.c v2x开发记录

一、工具安装及使用

       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,否则存在内存泄漏的问题。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值