Byte Pack

Преобразуйте входные сигналы в uint8 вектор

  • Библиотека:
  • Embedded Coder / Целевые процессоры / Коммуникация Хоста

  • Byte Pack block

Описание

Блок Byte Pack получает входные сигналы одного или нескольких типов данных и преобразует данные в один uint8 вектор для выхода. Используйте параметры блоков, чтобы задать типы данных входных сигналов и выравнивание данных в векторе что блок выходные параметры. Поскольку протокол UDP передает данные в uint8 формат, можно использовать этот блок, чтобы переформатировать данные для передачи UDP путем соединения выхода этого блока к входу блока UDP Send.

Порты

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

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

Массив входных сигналов еще одного типы данных.

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

Вывод

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

Конвертированный вход блока, возвращенный как вектор из uint8 данные.

Типы данных: uint8

Параметры

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

Задайте типы данных Simulink входных сигналов, которые блок получает в массиве ячеек. В массиве ячеек задайте типы данных в порядке, в котором входной порт блока получает данные сигнала. Например, если блок получает данные в порядке uint32uint32uint16'double'uint8'double', и single, задайте этот массив ячеек:

 {'uint32','uint32','uint16','double','uint8','double','single'}

Блок затем обеспечивает количество входных параметров блока.

Задайте, как выровнять типы данных входных данных, чтобы сформировать uint8 векторный выход в байтах. Выравнивание может произойти на 1, 2, 4, или 8-байтовые контуры. На основе значения выравнивания каждое значение данных сигнала начинается на множителях значения выравнивания. Алгоритмы выравнивания для каждого элемента в выходном векторе начинаются на контуре байта, заданном значением выравнивания. Выравнивание байта устанавливает контуры относительно начальной точки вектора.

Чтобы получить самую трудную упаковку без отверстий между типами данных в различных комбинациях типов данных, выберите 1.

У вас может быть несколько типов данных различных длин. В таких случаях 2-байтовое выравнивание может произвести 1-байтовые разрывы между uint8 или int8 значения и другой тип данных. В реализации пакета блок копирует данные в буфер выходных данных 1 байт за один раз.

Например, примите, что вы задаете этот массив ячеек для Input port data types (cell array):

 {'uint32','uint32','uint16','double','uint8','double','single'}

Примите, что вы устанавливаете Byte alignment на 2. Каждое новое значение начинает 2 байта с предыдущего контура данных. Когда сигналы являются скалярными значениями:

  • Первое значение сигналов в векторе запускается на уровне 0 байтов.

  • Второе значение сигналов запускается на уровне 2 байтов.

  • Третье значение сигналов запускается на уровне 4 байтов.

  • Четвертое значение сигналов запускается на уровне 6 байтов.

  • Пятое значение сигналов запускается на уровне 8 байтов.

  • Шестое значение сигналов запускается на уровне 10 байтов

  • Седьмое значение сигналов запускается на уровне 12 байтов.

Алгоритм упаковки оставляет 1-байтовый разрыв между uint8 значение данных и двойное значение.

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

| |

Введенный в R2011a