簡體   English   中英

CAPL 訪問超過 52 位的 integer 信號

[英]CAPL Accessing integer signal with more than 52 bits

問題是關於 CAPL 信號訪問。 假設在代碼中有來自某個 PDU 的 64 位無符號 integer 信號。

在嘗試將信號值分配給sysvarqword變量時,例如:

@sysvar::bar = $foo;

警告出現:

CAPL / .NET Accessing integer signal '[...]/foo' with more than 52 bits, possible loss of data!

在關於警告2808的 CANoe 幫助中,我發現

In $ instructions only integer signals with up to 52 bits can be used without data loss, as values are saved and disclosed internally as doubles.

您知道如何在不丟失數據的情況下分配 64 位無符號 integer 信號值嗎?

在文檔中找到解決方案:

由於數據類型為 double, .raw不會為超過 52 位的信號返回准確的值。 請使用數據類型為int64的這些信號長度.raw64

 int64 largeValue; largeValue = $Some64bitSignal.raw64;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM