[英]Putting a signal value into a variable in CAPL
我正在尝试将信号值(从 DBC 文件)提取到变量中,但收到消息“必须是常量表达式” 。 如果我尝试添加像.DefaultValue
这样的过滤器,它会起作用,但这不是我想要的值。 我想要调用这个CAPL函数时的信号值。 下面是一个例子:
float Cell_Voltage = Mc00_UCell00;
(这是我得到错误的地方必须是常量表达式)
float Cell_Voltage = Mc00_UCell00.DefaultValue;
(这有效,但我不想要默认值)
是否有过滤器来拉取信号Mc00_UCell0
的当前值?
在 CAPL 中获得浮点信号值的整数,你应该写
float Cell_Voltage = $Mc00_UCell00;
它被称为“直接访问信号值”
你说以下有效:
float Cell_Voltage = Mc00_UCell00.DefaultValue;
并且以下不起作用:
float Cell_Voltage = Mc00_UCell00;
请注意,在 C 和许多其他语言中,点表示从结构中访问成员。 这意味着在工作示例中,您访问一个成员并将其分配给Cell_Voltage
而在不工作的示例中,您希望将整个结构分配给一个简单的变量,这确实不起作用。
决定您需要结构的哪个成员,并用点表示法解决它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.