枚举代码生成与嵌入式编码器(autosar.tlc)
76(30天)
显示旧的评论
你好,
有人知道什么导致了下面的错误信息,如何我能解决这个问题吗?我有一个仿真软件模万博1manbetx型,使用“State_Car.m”中定义的枚举
classdefState_Car < 万博1manbetxSimulink.IntEnumType
枚举
PARKEN_BN_NIO (1)
PARKEN_BN_IO (2)
STANDFKT_KUNDE_NICHT_IM_FZG (3)
WOHNEN (5)
PRUEFEN_ANALYSE_DIAGNOSE (7)
FAHRBEREITSCHAFT_HERSTELLEN (8)
。(10)
FAHRBEREITSCHAFT_BEENDEN (12)
SIGNAl_UNBEFUELLT (15)
结束
结束
我得到的错误信息在构建过程是:
# # #为模型构建过程:“swc_heat_2017b”一个错误而中止。
枚举类型的头文件State_Car,应该设置为Rte_Type.h。要修复这个错误,更新的getHeaderFile方法返回Rte_Type.h枚举类型
0评论
接受的答案
卢卡斯Lebert
2018年7月5日
编辑:卢卡斯Lebert
2020年8月20日
嗨,赵昱!
按照AUTOSAR标准,所有数据类型必须Rte_type.h定义生成。这是错误的原因,是不可能使用不同的头在AUTOSAR代码生成。
内部数据类型使用仅仅SWC(不是一个端口的定义),你只需要像Rte_type指定头文件。h只有如果你想要的数据类型作为IncludedDataTypeSet出口。
这是一个小例子getHeaderFile的实现方法:
classdefState_Car < 万博1manbetxSimulink.IntEnumType
枚举
(1)
(2)
结束
方法(静态= true)
函数retVal = getHeaderFile ()
retVal =“Rte_Type.h”;
结束
结束
结束
祝你有美好的一天!
卢卡斯~
更多的答案(2)
Manuel Stumpf
2018年7月16日
它看起来像我有一个类似的问题:是否可以使用RTE引用数据类型在一个子系统(如国家流)?我想使用相同的数据类型的内部子系统和外部接口引用我的SWC。现在我越来越像上面的错误消息。
问候,曼努埃尔
振威的太阳
2018年9月11日
嗨,我是同样的问题。我不需要在“Rte_Types def的数据。h”由于这门课只是为了我的SWC使用。谁有解决这个问题吗?
1评论
塔伦Jhamnani
2020年8月31日
classdef(枚举)EnColor < uint8
枚举
红色(0)
绿色(1)
蓝色(2)
结束
方法(静态= true)
函数retValue = getDefaultValue ()
retValue = EnColor.Red;
结束
结束
结束
定义枚举如上所述,您可以更改基本数据类型。其次,卢卡斯推荐设置。
生成的代码将类似下图:
typedef uint8_T EnColor;
#定义红((EnColor) 0)
#定义绿色((EnColor) 1)
#定义蓝色((EnColor) 2)