pack

Упакуйте данные сигнала в сообщение CAN

Описание

пример

pack(message,value,startbit,signalsize,byteorder) принимает заданные входные параметры и упаковывает их в сообщение.

Примеры

свернуть все

Упакуйте сообщение CAN с 16-битным целым значением 1000.

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.

Упакуйте сообщение CAN с двойным значением 3.14. Для double требуется 64 бита.

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

Упакуйте сообщение CAN с одним значением -40. Сингл требует 32 бита.

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

Входные параметры

свернуть все

Сообщение CAN, заданное как объект сообщения CAN.

Пример: canMessage

Значение сигнала для упаковки в сообщение, заданное в виде числового значения. Значение принято десятичным и распределено между 8 байтами сообщения Data свойство. Вы должны преобразовать значение в тип данных, ожидаемый для передачи.

Пример: int16(1000)

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Начальный бит сигнала в данных, заданный как одно или двойное значение. Это - наименее значимое положение бита в данных сигнала. Принятые значения для startbit являются от 0 через 63, включительно.

Пример: 0

Типы данных: single | double

Длина сигнала в битах, заданная в виде числового значения. Принятые значения для signalsize являются от 1 через 64, включительно.

Пример: 16

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Формат порядка байтов сигнала, заданный как 'LittleEndian' или 'BigEndian'.

Пример: 'LittleEndian'

Типы данных: char | string

См. также

Функции

Введенный в R2009a