Задайте, как выровнять типы данных входных данных, чтобы сформировать 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
значение данных и двойное значение.