繁体   English   中英

将信号值放入 CAPL 中的变量中

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM