exponenta event banner

Пакет байтов

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

  • Библиотека:
  • Встроенный кодер/Встроенные цели/Связь с хостом

  • 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 входных сигналов, которые блок принимает в массиве ячеек. В массиве ячеек укажите типы данных в порядке, в котором входной порт блока принимает данные сигнала. Например, если блок получает данные в порядке uint32, uint32, uint16, double, uint8, double, и single, укажите этот массив ячеек:

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

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

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

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

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

Например, предположим, что этот массив ячеек указан для типов данных порта ввода (массив ячеек):

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

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

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

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

  • Третье значение сигнала начинается с 4 байт.

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

  • Пятое значение сигнала начинается с 8 байт.

  • Шестое значение сигнала начинается с 10 байт

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

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

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