exponenta event banner

пакет

Упаковать данные сигнала в сообщение 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. Двойник требует 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