exponenta event banner

распаковать

Распаковка данных сигнала из сообщения 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