Byte Unpacking

Вскройте противоречия в системах координат данных

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

  • Byte Unpacking block

Описание

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

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

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

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

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

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

  2. Установите размерность выходного порта на:

    {[1],[3],[3]}
  3. Установите значение выравнивания к 1.

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

Порты

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

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

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

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

Вывод

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

Блок отображается от 1 к выходным портам N, как задано элементами массива ячеек в параметре Output port (unpacked) data types (cell array).

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

Параметры

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

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

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

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

Задайте размерности выходных портов как массив ячеек векторов.

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

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

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

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

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

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

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

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

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

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

Введен в R2006a