一种基于通讯CAN的自动代码生成方法、工具及电子设备技术

技术编号:37348026 阅读:20 留言:0更新日期:2023-04-22 21:44
本发明专利技术涉及通讯协议技术领域,具体涉及一种基于通讯CAN的自动代码生成方法、工具及电子设备,包括如下步骤:获取通讯协议DBC文件的信号量以及信号参数;获取工程文件夹的变量和变量类型;根据所述DBC文件的信号量与所述工程文件夹的变量进行一对一自动关联,并生成关联文件;根据所述关联文件,进行代码生成,并生成新的源文件。本发明专利技术通过信号量与变量一对一自动关联并生成关联文件,解决手动关联信号量和变量的问题,根据关联文件自动生成代码,减少代码的出错率;本发明专利技术通过代码生成规则可生成通用的C语言代码,所有的项目都可以使用,并和工程文件中的变量进行匹配生成代码,在通讯领域中的适用范围更广。领域中的适用范围更广。领域中的适用范围更广。

【技术实现步骤摘要】
一种基于通讯CAN的自动代码生成方法、工具及电子设备


[0001]本专利技术涉及通讯协议
,具体涉及一种基于通讯CAN的自动代码生成方法、工具及电子设备。

技术介绍

[0002]现有的技术为根据写代码的原理,需要手动添加单个信号和对应的工程变量进行匹配关联,信号量和变量都比较多,关联想起相当的费时,而且容易出错。
[0003]现有的工具方案,只是在模型代码中进行信号关联,也是手动添加单个信号,然后自动生成代码。因为信号量可能会达到几百个,会花费大量时间;而且手动添加容易出错,很难查出错误原因。

技术实现思路

[0004]本专利技术的目的在于克服现有技术中需要手动进行信号关联、手动关联信号容易出错以及手动关联信号会花费大量时间的情况,提供一种基于通讯CAN的自动代码生成方法。
[0005]为了实现上述专利技术目的,本专利技术提供了以下技术方案:
[0006]一种基于通讯CAN的自动代码生成方法,包括如下步骤:
[0007]S1、获取通讯协议DBC文件的信号量以及信号参数,所述信号量包括信号名称本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于通讯CAN的自动代码生成方法,其特征在于,包括如下步骤:S1、获取通讯协议DBC文件的信号量以及信号参数,所述信号量包括信号名称、分辨率、偏移量以及信号类型信息,所述信号类型包括RV和TV;获取工程文件夹的变量和变量类型;S2、根据所述DBC文件的信号量与所述工程文件夹的变量进行一对一自动关联,并生成关联文件;S3、根据所述关联文件,进行代码生成,并生成新的源文件;所述代码生成包括如下规则与步骤:S31、清空VCAN接口函数中所有乱序的接口,根据DBC通讯协议以及BSW的Com接口命名规则重新写接口,并加上Frame ID的注释;S32、按接口命名规则将关联的所述信号量和所述变量进行一条一条对应的填入接口函数;其中接口命名规则如下:信号类型为RV的:Rte_Read_RPort+报文名+信号名+信号类型;信号类型为TV的:Rte_Write_PPort+报文名+信号名+信号类型;S33、将步骤S32中填好的接口函数填写到对应的代码模板中,进行代码生成,并生成新的源文件。2.根据权利要求1所述的一种基于通讯CAN的自动代码生成方法,其特征在于,其中S1步骤中包括:基于DBC文件规则获取信号量,获取信号参数,所述信号参数为SG_开头的列。3.根据权利要求2所述的一种基于通讯CAN的自动代码生成方法,其特征在于,所述SG_开头的列语法为,SG_信号名称:起始位|位长@字节顺序符号类型(增益,偏置)[最小值|最大值]"单位"接收节点。4.根据权利要求1所述的一种基于通讯CAN的自动代码生成方法,其特征在于,所述步骤S1中,获取工程文件夹的变量和变量类型包括如下步骤:S11、获取整个工程文件夹下的*.c文件;获取工程文件夹的方式包括直接选中或搜索*.c文件,其中搜索*.c文件的方式为:取包含以“volatile“的头,以分号或空格结尾的列;S12、根据步骤S11获取得到的所述*.c文件取其中间的名称为变量名称和变量类型;S13、获取所有*.c文件的变量,然后合并成数组进行界面显示。...

【专利技术属性】
技术研发人员:张涛
申请(专利权)人:湖北亿纬动力有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1