![](/img/trans.png)
[英]How to assign a CHAR Array to a SIGNAL (64 Bits) in CAPL script (CANOE)
[英]CAPL Accessing integer signal with more than 52 bits
問題是關於 CAPL 信號訪問。 假設在代碼中有來自某個 PDU 的 64 位無符號 integer 信號。
在嘗試將信號值分配給sysvar
或qword
變量時,例如:
@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.