Convert CAN Message data - array of uint8 to double:

10 ビュー (過去 30 日間)
mlaudu
mlaudu 2020 年 12 月 24 日
コメント済み: mlaudu 2020 年 12 月 29 日
Hi,
I have an IO611 CAN Read block in my Simulink model that reads messages from a single CAN channel. The CAN messages originate from several sources each message with a unique ID. I see that I can extract the message ID and data payload for each message directly from the CAN Read block by using the 'RAW' data message type. The data paylod is however in the form of a uint8(8) array. To get the equivalent double value is it enough to use a 'double' conversion block or do I have to do some other elaborate conversion? Thanks for any insight.

回答 (1 件)

Madhav Thakker
Madhav Thakker 2020 年 12 月 29 日
編集済み: Madhav Thakker 2020 年 12 月 29 日
Hi Mlaudu,
You can use data conversion block that takes as input uint8 array and returns a double array with same dimension.
Hope this helps.
  3 件のコメント
Walter Roberson
Walter Roberson 2020 年 12 月 29 日
MATLAB function block that takes in the uint8 array and typecast() it to double.
Just watch out for the byte order. typecast() will assume the byte order is the same as the system being executed on, which would be "little endian" .
mlaudu
mlaudu 2020 年 12 月 29 日
This idea works. Use a MATLAB function block and typecast the 8-byte array to double. Thank you.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeString についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by