exponenta event banner

Распаковка байтов

Деконструкция кадров данных

  • Библиотека:
  • Симулинк в реальном времени/Утилиты

  • Byte Unpacking block

Описание

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

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

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

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

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

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

  2. Задайте для размера выходного порта значение:

    {[1],[3],[3]}
  3. Задайте значение выравнивания, равное 1.

  4. Подключите выходные сигналы к блоку распаковки байтов.

Порты

Вход

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

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

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

Продукция

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

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

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

Параметры

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Представлен в R2006a