自动生成DBC文件的方法、装置、设备及存储介质与流程

未命名 07-15 阅读:170 评论:0

自动生成dbc文件的方法、装置、设备及存储介质
技术领域
1.本发明涉及软件开发技术,尤其涉及一种自动生成dbc文件的方法、装置、设备及存储介质。


背景技术:

2.根据vector公司发布的《dcb文件格式文档》,dbc(data base for can)文件描述了单个can网络的通信。此信息足以监视和分析网络并模拟物理上不可用的节点。dbc文件也可用于开发电子控制单元(ecu)的通信软件,该电子控制单元应是can网络的一部分。
3.因此,在基于can的软件开发中,生成dbc文件是关键的一步骤。为了提高效率,各式各样的自动化工具或脚本被开发,以支持将excel格式的文件自动转换为dbc文件。但是,本技术的发明人发现:在《dcb文件格式文档》中,并不要求包含信号的终止位,因此,在将excel格式转换为dbc文件时,并不涉及信号的终止位的确定,一般是开发人员在有需要时,以另外的方式确定,但是这会导致开发效率受影响。


技术实现要素:

4.有鉴于此,本发明实施例的主要目的在于,提供一种自动生成dbc文件的方法、装置、设备和存储介质,能够提高开发效率。
5.本发明实施例的一种自动生成dbc文件的方法,包括:获取can通信矩阵表;识别所述can通信知阵表中各个信号的帧格式和编码格式;根据识别到的各个信号的帧格式和编码格式,计算各个信号的终止位;以及根据计算得到的各个信号的终止位,自动生成dbc文件。
6.其中,在识别所述帧格式和编码格式的步骤之前,所述方法还包括:检查所述can通信矩阵表中的内容是否合法;当检查结果为合法时,则执行识别所述帧格式和编码格式的步骤;当检查结果为存在非法内容时,进行提示。
7.其中,所述can通信矩阵表包括:帧格式,编码格式、起始位、信号长度以及字节片段;其中,所述帧格式包括:can或者can_fd,所述编码格式包括:motorola格式或intel格式。
8.其中,所述计算各个信号的终止位的步骤包括:当信号的帧格式为can,且编码格式为intel格式时,信号的终止位等于信号的起始位;当信号的帧格式为can,且编码格式为motorola格式时,基于信号是否跨字节来计算信号的终止位。
9.其中,所述基于信号是否跨字节来计算信号的终止位,包括:判断信号是否跨字节;当信号未跨字节时,信号的终止位为:终止位=起始位+信号长度-1;当信号跨字节时:确定当前字节的最高位,所述当前字节即所述信号的起始位所在的字节;建立矩阵表,所述矩阵表包含:首字节至所述当前字节的前一字节中的所有位;根据式:索引值=起始位+信号长度-最高位-2,计算终止位的索引值;以及根据终止位的索引值和所述矩阵表,确定信号的终止位。
10.其中,所述计算各个信号的终止位的步骤包括:当信号的帧格式为can_fd时,根据信号的编码格式和字节片段,计算信号的终止位。
11.其中,所述根据信号的编码格式和字节片段,计算信号的终止位,包括:当信号的编码格式为intel格式时,确定信号的终止位为:终止位=起始位+64*字节片段的值;当信号的编码格式为motorola时,基于信号是否跨字节来计算信号的终止位。
12.其中,所述基于信号是否跨字节来计算信号的终止位,包括:判断信号是否跨字节;当不跨字节,则确定信号的终止位为:终止位=起始位+64*字节片段的值-1;当跨字节时:计算起始位加上64*字节片段所得的值;确定当前字节的最高位,所述当前字节即为该值所在的字节;建立矩阵表,所述矩阵表包含:首字节到所述当前字节的前一字节中的所有位;根据式:索引值=起始位+64*字节片段+信号长度-最高位-2,计算所述信号的终止位的索引值;以及根据所述计算的索引值和所述矩阵表,确定所述信号的终止位。
13.本发明实施例公开了一种自动生成dbc文件的装置,包括:获取模块,用于获取can通信矩阵表;识别模块,用于识别所述can通信知阵表中各个信号的帧格式和编码格式;计算模块,用于根据识别到的各个信号的帧格式和编码格式,计算各个信号的终止位;以及生成模块,用于根据计算得到的各个信号的终止位,自动生成dbc文件。
14.本发明实施例公开了一种计算机设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器被配置为执行所述可执行指令以实施根据本发明实施例的方法。
15.本发明实施例公开了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序包括可执行指令,当该可执行指令被处理器执行时,实施根据本发明实施例的方法。
16.本发明实施例的有益效果:
17.本发明实施例,基于信号的帧格式和编码格式计算信号的终止位,然后基于终止位生成dbc文件,因此在生成的dbc文件中可以包含信号的完整的位置信息,使得开发人员后续可以直接使用而不用再确定信号的终止位,因此能够提高开发效率。
附图说明
18.本发明的其他细节及优点将通过下文提供的详细描述而变得显而易见。应理解的是,下列附图仅仅是示意性的,因而不能视为对本发明的限制,下文将参照附图来进行详细描述,其中:
19.图1是本发明的自动生成dbc文件的方法的实施例的流程示意图;
20.图2是本发明的自动生成dbc文件的方法的另一实施例的流程示意图;
21.图3是本发明的计算信号的终止位的方法的实施例的流程示意图;
22.图4是本发明的计算信号的终止位的方法的另一实施例的流程示意图;
23.图5是本发明的计算信号的终止位的方法的另一实施例的流程示意图;
24.图6是本发明的计算信号的终止位的方法的另一实施例的流程示意图;
25.图7是本发明的自动生成dbc文件的装置的实施例的结构示意图;
26.图8是本发明的计算机设备的实施例的结构示意图。
具体实施方式
27.为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅以解释本发明,并不用于限定本发明。
28.在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。而且,术语“第一”、“第二”等适用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
29.在本发明实施例中,可以将can(controller area network,控制器局域网)通信矩阵表,例如为excel格式,自动转换成dbc文件。在can通信矩阵表中,定义了信号的一组属性,例如发送报文节点、报文id、报文帧长度、发送周期和发送方式,等等。在转换时,从can通信矩阵表中提取信号的各个属性信息,然后基于dbc文件的规范,将其写入dbc文件模板的对应字段内,即可实现将can通信矩阵表转换为dbc文件。在已有的方式,一般是从excel中提取数据并按照dbc文件的规范写入对应的位置,以完成dbc文件的生成,在此过程中,一般不会对信号的具体信息内容进行识,例如不会识别信号的帧格式具体是can或是can_fd,而仅是提取相关信息写入dbc文件中。
30.参考《dcb文件格式文档》,在dbc文件中包含信号的起始位(start bit)而不包含信号的终止位,因此开发人员若需要信号的终止位信息,则需要通过另外的方式确定,影响开发效率。因此,本发明实施例在将can通信矩阵表转换为dbc文件时,基于can通信矩阵表中的信息,通过一定的算法自动计算出信号的终止位,并将生成的终止位写入dbc文件中,以方便开发人员在后续过程中使用,以达到提高开发效率目的。
31.具体地,以下结合附图对本发明实施例进行详细描述。
32.如图1所示,是本发明的自动生成dbc文件的方法的实施例的流程示意图。该方法包括以下步骤:
33.步骤s102:获取can通信矩阵表。
34.步骤s104:识别can通信知阵表中各个信号的帧格式和编码格式。
35.步骤s106:根据识别到的各个信号的帧格式和编码格式,计算各个信号的终止位。
36.步骤s108:根据计算得到的各个信号的终止位,自动生成dbc文件。
37.其中,在步骤s102中,can通信矩阵表例如可以为excel格式的文件,其中记录了can信号的一组属性,例如如下表所示,是can通信矩阵表的一种示例。在表一中,第一行为表头,从第二行开始,每一行记录一个can信号的信息(属性)。
38.表一:
39.can_id

帧格式编码格式起始位信号长度字节片段
ꢀ…
canmotorola402/
ꢀ…
can_fdintel1031
40.在表一中,信号的帧格式包括:can和can_fd(can with flexible data-rate),其中can可以进一步包括:标准can和扩展can,can_fd可以进一步包括:标准can_fd和扩展
can_fd。信号的编码格式包括:motorola格式和intel格式,即大端字节序和小端字节序。其中,信号的帧格式和编码格式与信号的终止位相关,即帧格式和编码格式的不同组合所对应的终止位的计算方式会有差别,因此在计算终止位之前,需要先识别信号的帧格式和编码格式,即后续的步骤s104所示。另外,字节片段仅针对can_fd有效,其主要是针对can_fd而引入的用于便捷地计算终止位,具体将在后续说明。
41.在步骤s102获取到can通信矩阵表之后,在对can通信矩阵表进行具体处理之前,可以先对can通信矩阵表的合法性进行检查,如参考图2所示,即在步骤s102和s104之间,还可以包括步骤s103用于执行合法性检查。
42.具体地,步骤s103首先检查can通信矩阵表的格式是否正确,主要包括can通信矩阵表的列数和标题名字是否正确,例如矩阵表应为xx列且第一行标题都禁止修改,如果检查到有任何变动都会进行错误提示。其次,检查矩阵表中各信号中与can协议相关的信息是否正确,例如检查can_id的值是否唯一,如不唯一,则报错提示can_id不唯一;另外,还可检查can_id格式与帧格式类型是否匹配,如果不匹配则报错提示。具体地,本领域技术人员可以根据can协议的相关规范设置相关的规则,当检查到不符合预定的规则时,则进行提示(包括提示错误的位置),以使得开发人员能够快速地定位错误的位置并修改,并可以在修改之后重新获取can通信矩阵表。当步骤s103检查完can通信矩阵表之后没有发现任何错误时,则可以执行后续的步骤。
43.其中,在步骤s104和步骤s106中,首先识别信号的帧格式和编码格式,然后基于帧格式和编码格式,计算信号的终止位。如前所述,信号的帧格式包括:can和can_fd,信号的编码格式包括:intel格式和motorola格式,因此帧格卡与编码格式的组合有四种,即can+intel、can+motorola、can_fd+intel以及can_fd+motorola,后续将参考图3~6对这四种组合如何计算信号的终止位进行说明。
44.其中,在步骤108中,计算得到终止位之后,可以将终止位写入dbc文件中,以实现包含终止位信息的dbc文件的生成。另外,在生成dbc文件时,可以根据vector公司提供的文档《dbc文件格式规范》定义对应的can协议属性,例如版本和新符号定义,波特率定义,网络节点定义,报文帧定义,信号定义,报文或者信号的注解,报文、信号和节点属性定义,信号初始值定义,信号数值表定义,等等,在此不赘述。
45.本实施例,在将can通信矩阵表转换为dbc文件时,根据信号的帧格式和编码格式自动计算信号的终止位,并记录于dbc文件中,从而方便开发人员后续可以直接使用,从而提高了开发效率。
46.如图3所示,是本发明的计算信号的终止位的方法的实施例的流程示意图。其针对can+intel的组合,首先识别信号的帧格式是否为can格式(步骤s301),若是,则继续识别信号的编码格式是否为intel格式(步骤s302),若是,则信号的终止位等于信号的起始位(步骤s303),其中,信号的起始位记载于can通信矩阵表中,可以直接得到。
47.如图4所示,是本发明的计算信号的终止位的方法的另一实施例的流程示意图。其针对can+motorola的组合,首先,识别信号的帧格式是否为can格式(步骤s401),若是,则继续识别信号的编码格式是否为motorola格式(步骤s402),若是,则基于信号是否跨字节来计算信号的终止位(步骤s403)。
48.具体地,步骤s403进一步包括:首先,判断信号是否跨字节(步骤s4031),例如基于
信号长度和信号的起始位来判断是否跨字节。当判断到信号未跨字节时,则信号的终止位为:终止位=起始位+信号长度-1,即步骤s4032。
49.当判断到信号跨字节时,则确定当前字节的最高位(步骤s4033),在can+motorola的组合下,当前字节定义为信号的起始位所在的字节。举例而言,在此组合下,can只有8个字节(字节0~字节7),每个字节有8位,其中字节0的最高位为7,以此类推,字节7的最高位为63。假设信号的起始位为10,则起始位属于字节1,则在步骤s4033中确定的最高位为15。
50.接着,建立矩阵表(步骤s4034)。该矩阵表中的内容由首字节至当前字节的前一字节(即当前字节-1)中的所有位组成,例如,以起始位为10为例(属于字节1),则当前字节的前一字节为0,则矩阵表中的内容为[0,1,2,3,4,5,6,7]。
[0051]
然后,计算终止位的索引值(步骤s4045)。其中终止位的索引值可以基于公式:索引值=起始位+信号长度-最高位-2,计算得到。例如,以起始位为10,信号长度为10为例,则索引值=3。最后,基于索引值和矩阵表,确定信号的终止位(步骤s4045)。例如继续以起始位为10,信号长度为10为例,则索引值3在矩阵表[0,1,2,3,4,5,6,7]对应的位为:3,因此终止位为3。
[0052]
如图5所示,是本发明的计算信号的终止位的方法的另一实施例的流程示意图。其针对can_fd+intel的组合,首先识别信号的帧格式是否为can_fd格式(步骤s501),若是,根据信号的编码格式和字节片段,计算信号的终止位(步骤s502)。具体地,在步骤s502中,首先获取字节片段的值(步骤s5021),然后识别信号的编码格式是否为intel格式(步骤s5022),若是,则确定信号的终止位为:终止位=起始位+64*字节片段,即步骤s5023。
[0053]
如图6所示,是本发明的计算信号的终止位的方法的另一实施例的流程示意图。其针对can_fd+motorola的组合,首先识别信号的帧格式是否为can_fd格式(步骤s601),若是,根据信号的编码格式和字节片段的值,计算信号的终止位(步骤s602)。
[0054]
具体地,步骤s602进一步包括:获取获取字节片段的值(步骤s6021)。然后,识别信号的编码格式是否为motorola格式(步骤s6022),若是,则需要考虑是否跨字节的问题,因此判断信号是否跨字节(步骤s6023),例如可以基于信号长度、信号的起始位和字节片段来判断是否跨字节。若不跨字节,则确定:终止位=起始位+64*字节片段-1,即步骤s6024。
[0055]
若跨字节,则先计算:(起始位+64*字节片段)的值(步骤s6025)。然后,确定当前字节的最高位(步骤s6026),其中,当前字节定义为步骤s6025所计算得到的值所在的字节。接着,建立矩阵表(步骤s6027),该矩阵表包括:首字节到当前字节的前一字节中的所有位。接着,计算索引值(步骤s6028),可以根据公式:索引值=起始位+64*字节片段+信号长度-最高位-2,计算索引值。最后,根据索引值和矩阵表,确定信号的终止位(步骤s6028)。
[0056]
举例而言,以起始位为8,字节片段=1,信号长度=10为例,针对can_fd+motorola的组合,若跨字节时,则可以根据:起始位+64*字节片段,计算得到的值为72,该值属于字节9,且字节9的最高位为79。然后提取字节0至字节8中所有的位,组成矩阵表:[64,65,66,67,68,69,70,71,56,57,58,59,60,61,62,63,48,49,50,51,52,53,54,55,40,41,42,43,44,45,46,47,32,33,34,35,36,37,38,39,24,25,26,27,28,29,30,31,16,17,18,19,20,21,22,23,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7]。接着,计算索引值=8+1*64+10-79-2=1,则索引值在矩阵表中对应的值为65,因此信号的终止位为65。
[0057]
在图3~6的实施例中计算出终止位之后,还可以对终止位进行超限检查,例如
intel格式的信号可以通过信号长度来检查终止位,例如针对can,若(起始位+信号长度)》64,即可认为超限。而motorola格式则可以通过矩阵表的位置索引是否超出上限来进行检查,例如,如果计算的索引值大于矩阵表中的个数,则认为超限。
[0058]
如图7所示,是本发明的自动生成dbc文件的装置7的实施例的结构示意图,该装置7包括:获取模块70,用于获取can通信矩阵表;识别模块72,用于识别所述can通信知阵表中各个信号的帧格式和编码格式;计算模块74,用于根据识别到的各个信号的帧格式和编码格式,计算各个信号的终止位;以及生成模块76,用于根据计算得到的各个信号的终止位,自动生成dbc文件。可以理解的是,图7的装置实施例是与图1的方法实施例相对应,因此装置实施例中涉及的操作的诸多细节已在前述的方法实施例说明,出于简洁,在此不赘述。
[0059]
如图8所示,是本发明的计算机设备8的实施例的结构示意图。该计算机设备8包括:处理器80;以及存储器82,用于存储所述处理器的可执行指令;其中,所述处理器被配置为执行所述可执行指令以实施本发明实施例的方法,例如图1~6所示的方法。
[0060]
另外,本发明实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序包括可执行指令,当该可执行指令被处理器执行时,实施本发明实施例的方法,例如图1~6所示的方法。
[0061]
以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术存储介质和设备实施例中未披露的技术细节,请参照本技术方法实施例的描述来理解。
[0062]
上述处理器可以为专用集成电路(application specific integrated circuit,asic)、数字信号处理器(digital signal processor,dsp)、数字信号处理装置(digital signal processing device,dspd)、可编程逻辑装置(programmable logic device,pld)、现场可编程门阵列(field programma-ble gate array,fpga)、中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器等中的至少一种。可以理解地,实现上述处理器功能的电子器件还可以为其它,本技术实施例不作具体限定。
[0063]
上述计算机存储介质/存储器可以是只读存储器(read only memory,rom)、可编程只读存储器(programmable read-only memory,prom)、可擦除可编程只读存储器(erasable programmable read-only memory,eprom)、电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁性随机存取存储器(ferromagnetic ran-dom access memory,fram)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(compact disc read-only memory,cd-rom)等存储器;也可以是包括上述存储器之一或任意组合的各种终端,如移动电话、计算机、平板设备、个人数字助理等。
[0064]
应指出的是,以上描述仅为示例,而不是对本发明的限制。在本发明的其他实施例中,该方法可具有更多、更少或不同的步骤,且各步骤之间的顺序、包含和功能等关系可以与所描述和图示的不同。例如,通常多个步骤可以合并为单个步骤,单个步骤也可以拆分为多个步骤。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,对各步骤的先后变化也在本发明的保护范围之内。
[0065]
本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,
包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器或微控制器执行本发明各个实施方式所述方法的全部或部分步骤。
[0066]
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可获取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤。
[0067]
虽然本发明已以较佳实施例披露如上,但本发明并非限于此。任何本领域技术人员,在不脱离本发明的精神和范围内所作的各种更动与修改,均应纳入本发明的保护范围内,因此本发明的保护范围应当以权利要求所限定的范围为准。

技术特征:
1.一种自动生成dbc文件的方法,其特征在于,包括:获取can通信矩阵表;识别所述can通信知阵表中各个信号的帧格式和编码格式;根据识别到的各个信号的帧格式和编码格式,计算各个信号的终止位;以及根据计算得到的各个信号的终止位,自动生成dbc文件。2.如权利要求1所述的方法,其特征在于,在识别所述帧格式和编码格式的步骤之前,所述方法还包括:检查所述can通信矩阵表中的内容是否合法;当检查结果为合法时,则执行识别所述帧格式和编码格式的步骤;当检查结果为存在非法内容时,进行提示。3.如权利要求1所述的方法,其特征在于,所述can通信矩阵表包括:帧格式,编码格式、起始位、信号长度以及字节片段;其中,所述帧格式包括:can或者can_fd,所述编码格式包括:motorola格式或intel格式。4.如权利要求3所述的方法,其特征在于,所述计算各个信号的终止位的步骤包括:当所述信号的帧格式为can,且编码格式为intel格式时,所述信号的终止位等于所述信号的起始位;当所述信号的帧格式为can,且编码格式为motorola格式时,基于所述信号是否跨字节来计算所述信号的终止位。5.如权利要求4所述的方法,其特征在于,所述基于所述信号是否跨字节来计算所述信号的终止位,包括:判断所述信号是否跨字节;当所述信号未跨字节时,所述信号的终止位为:终止位=起始位+信号长度-1;当所述信号跨字节时:确定当前字节的最高位,所述当前字节即所述信号的起始位所在的字节;建立矩阵表,所述矩阵表包含:首字节至所述当前字节的前一字节中的所有位;根据式:索引值=起始位+信号长度-最高位-2,计算所述信号的终止位的索引值;以及根据所述计算的索引值和所述矩阵表,确定所述信号的终止位。6.如权利要求3所述的方法,其特征在于,所述计算各个信号的终止位的步骤包括:当所述信号的帧格式为can_fd时,根据所述信号的编码格式和字节片段,计算所述信号的终止位。7.如权利要求6所述的方法,其特征在于,所述根据信号的编码格式和字节片段,计算所述信号的终止位,包括:当所述信号的编码格式为intel格式时,确定所述信号的终止位为:终止位=起始位+64*字节片段;当所述信号的编码格式为motorola时,基于所述信号是否跨字节来计算所述信号的终止位。8.如权利要求7所述的方法,其特征在于,所述基于所述信号是否跨字节来计算所述信号的终止位,包括:
判断所述信号是否跨字节;当不跨字节,则确定所述信号的终止位为:终止位=起始位+64*字节片段-1;当跨字节时:计算起始位加上64*字节片段所得的值;确定当前字节的最高位,所述当前字节即为该值所在的字节;建立矩阵表,所述矩阵表包含:首字节到所述当前字节的前一字节中的所有位;根据式:索引值=起始位+64*字节片段+信号长度-最高位-2,计算所述信号的终止位的索引值;以及根据所述计算的索引值和所述矩阵表,确定所述信号的终止位。9.一种自动生成dbc文件的装置,其特征在于,包括:获取模块,用于获取can通信矩阵表;识别模块,用于识别所述can通信知阵表中各个信号的帧格式和编码格式;计算模块,用于根据识别到的各个信号的帧格式和编码格式,计算各个信号的终止位;以及生成模块,用于根据计算得到的各个信号的终止位,自动生成dbc文件。10.一种计算机设备,其特征在于,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器被配置为执行所述可执行指令以实施根据权利要求1至8中任一项所述的方法。11.一种计算机可读存储介质,其上存储有计算机程序,该计算机程序包括可执行指令,当该可执行指令被处理器执行时,实施根据权利要求1至8中任一项所述的方法。

技术总结
本发明实施例公开了一种自动生成DBC文件的方法、装置、设备和存储介质。其中,该方法包括:获取CAN通信矩阵表;识别所述CAN通信知阵表中各个信号的帧格式和编码格式;根据识别到的各个信号的帧格式和编码格式,计算各个信号的终止位;以及根据计算得到的各个信号的终止位,自动生成DBC文件。本发明实施例,能够提高开发效率。开发效率。开发效率。


技术研发人员:张雄
受保护的技术使用者:大陆软件系统开发中心(重庆)有限公司
技术研发日:2023.04.24
技术公布日:2023/7/12
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐