unpack

Распакуйте данные сигнала из сообщения CAN

Описание

пример

value = unpack(message,startbit,signalsize,byteorder,datatype) принимает набор параметров входа, чтобы распаковать значение сигналов из сообщения и возвращает значение как выход.

Примеры

свернуть все

Распакуйте значение данных из сообщения CAN.

Распакуйте 16-битное целое значение.

message = canMessage(500,false,8);
pack(message,int16(1000),0,16,'LittleEndian')
value = unpack(message,0,16,'LittleEndian','int16')
value =

  int16

   1000

Распакуйте 32-разрядное одно значение.

pack(message,single(-40),0,32,'LittleEndian')
value = unpack(message,0,32,"LittleEndian",'single')
value =

   single

   -40

Распакуйте 64-разрядное двойное значение.

pack(message,3.14,0,64,'LittleEndian')
value = unpack(message,0,64,'LittleEndian','double')
value =

    3.1400

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

свернуть все

Сообщение CAN, заданное как объект сообщения CAN, из которого можно распаковать данные.

Пример: canMessage

Начальный бит сигнала в данных, заданный как одно или двойное значение. Это - наименее значимое положение бита в данных сигнала. Принятые значения для 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

Тип данных распакованного значения, заданный как вектор символов или строка. Поддерживаемые значения 'uint8', 'int8', 'uint16', 'int16', 'uint32', 'int32', 'uint64', 'int64', 'single', и 'double'.

Пример: 'double'

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

Выходные аргументы

свернуть все

Значение данных сообщения, возвращаемое как числовое значение заданного типа данных.

См. также

Функции

Введенный в R2009a