Byte Packing

Создайте системы координат данных

  • Библиотека:
  • Simulink Real-Time / Утилиты

  • Byte Packing block

Описание

Блок Byte Packing преобразует один или несколько сигналов выбираемых пользователем типов данных к одному вектору из различных типов данных. Выход этого блока обычно соединяется с входным портом блока Send.

Блок Byte Packing и блок Byte Unpacking поддерживают slrealtime.tlc цель генерации кода и генерирует код, который работает на целевых машинах Speedgoat. Из-за факторов, таких как порядок байтов и адресуемый размер слова, эти блоки могут сгенерировать неправильные результаты для других целей генерации кода или целевых компьютеров.

Например, предположите, что вы упаковываете три сигнала в вектор из uint8. Сигналы имеют следующие атрибуты:

РазмерностьРазмерВвод
Скаляр1single
Вектор3uint8
Вектор3uint8
  1. Установите упакованный тип данных выходного порта на uint8.

  2. Установите тип данных входного порта на массив ячеек, кодирующий типы данных:

    {'single', ['uint8'], ['uint8']}

    Используйте квадратные скобки, чтобы представлять векторы.

  3. Установите значение выравнивания байта к 1.

  4. Соедините сигналы с блоком Byte Packing.

Порты

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

развернуть все

Блок имеет от 1 к входным портам N. Задайте количество входных портов и их типов путем ввода их как массива ячеек в параметре Input port (unpacked) data types (cell array).

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

Вывод

развернуть все

Блок отображает один выходной порт, который передает вектор из упакованных данных. Вы определяете тип данных упакованных данных установкой Output port (packed) data type.

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

Параметры

развернуть все

Из списка выберите тип данных для выходного порта.

Программируемое использование

Параметры блоков: MaskPackedDataType

Задайте как массив ячеек типы данных входных портов (распакованных) для различных входных сигналов. Число элементов в массиве ячеек определяет количество входных портов, показанных этим экземпляром блока. Чтобы представлять векторные элементы, используйте квадратные скобки в массиве ячеек.

Программируемое использование

Параметры блоков: MaskUnpackedDataTypes

Каждый элемент в списке входных сигналов запускается в кратном значению выравнивания, заданному от запуска вектора. Если значение выравнивания больше, чем размер типа данных в байтах, блок заполняет пробел байтами клавиатуры значения 0.

Например, если значением выравнивания является 4:

  • uint32 не получает дополнения

  • uint16 получает 2 байты дополнения

  • uint8 получает 3 байты дополнения

Если доступы модели элементы данных часто, считайте выбор значения выравнивания равным самому большому типу данных, к которому вы хотите получить доступ. Если модель часто передает элементы данных как группу, рассмотрите значение выравнивания 1, который упаковывает данные в максимально небольшой пробел.

Программируемое использование

Параметры блоков: MaskAlignment

Примеры модели

Смотрите также

Введен в R2006a