Byte Unpacking

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

  • Библиотека:
  • Simulink в утилитах

  • Byte Unpacking block

Описание

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

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

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

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

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

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

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

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

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

Порты

Вход

расширить все

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

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

Выход

расширить все

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

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

Параметры

расширить все

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

Введенный в R2006a