Main Content

pack

将信号数据打包到 CAN 报文中

说明

示例

pack(message,value,startbit,signalsize,byteorder) 接受指定的输入参数并将其打包到报文中。

示例

全部折叠

将 16 位整数值 1000 打包为 CAN 报文。

message = canMessage(500,false,8);
pack(message,int16(1000),0,16,'LittleEndian')
message.Data
  1×8 uint8 row vector

   232     3     0     0     0     0     0     0

请注意,1000 = (3 x 256) + 232。

将双精度值 3.14 打包为 CAN 报文。双精度值需要 64 位。

pack(message,3.14,0,64,'LittleEndian')

将单精度值 -40 打包为 CAN 报文。单精度值需要 32 位。

pack(message,single(-40),0,32,'LittleEndian')

输入参数

全部折叠

CAN 报文,指定为 CAN 报文对象。

示例: canMessage

要打包到报文中的信号的值,指定为数值。假定该值为十进制,并分布在报文 Data 属性的 8 个字节中。您应该将值转换为传输所需的数据类型。

示例: int16(1000)

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

信号在数据中的起始位,指定为单精度值或双精度值。这是信号数据中最低有效位的位置。startbit 的可接受值介于 063 之间(包含端值)。

示例: 0

数据类型: single | double

信号的长度(以位为单位),指定为数值。signalsize 的可接受值介于 164 之间(包含端值)。

示例: 16

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

信号字节顺序格式,指定为 'LittleEndian''BigEndian'

示例: 'LittleEndian'

数据类型: char | string

版本历史记录

在 R2009a 中推出