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

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

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

Описание

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

Примечание

Блок Byte Packing и блок Byte Unpacking поддерживают генерацию кода slrt.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

Для просмотра документации необходимо авторизоваться на сайте