Преобразуйте входные сигналы в uint8
вектор
Embedded Coder / Встроенная Коммуникация Целей/Хоста
Используя входной порт, блок преобразует данные одного или нескольких типов данных в один uint8
вектор для выхода. С доступными опциями вы задаете типы входных данных и выравнивание данных в выходном векторе. Поскольку сообщения UDP находятся в uint8
формат данных, используйте этот блок перед блоком UDP Send, чтобы отформатировать данные для передачи с помощью протокола UDP.
Задайте типы данных для различных сигналов как часть параметров. Блок поддерживает все типы данных Simulink® кроме символов. Введите типы данных, когда Simulink вводит в массиве ячеек, таком как 'double'
или 'int32'
. Порядок записей типа данных в массиве ячеек должен совпадать с порядком, в котором данные прибывают во вход блока. Этот блок определяет размеры сигнала автоматически. Блок имеет по крайней мере один входной порт и только один выходной порт.
Эта опция задает, как выровнять типы данных, чтобы сформировать uint8
выходной вектор. Выберите одно из значений в байтах из списка.
Выравнивание может произойти на 1, 2, 4, или 8-байтовые контуры в зависимости от значения, которое вы выбираете. Значения по умолчанию значения к 1
. Учитывая значение выравнивания, каждое значение данных сигнала начинается на множителях значения выравнивания. Алгоритмы выравнивания, которые каждый элемент в выходном векторе начинает на контуре байта, заданном значением выравнивания. Выравнивание байта устанавливает контуры относительно начальной точки вектора.
Выбор выравнивания 1 for Byte обеспечивает самую трудную упаковку без отверстий между типами данных в различных комбинациях типов данных и сигналов.
Иногда, у вас может быть несколько типов данных различных длин. В таких случаях, задавая 2-байтовое выравнивание может произвести 1-байтовые разрывы между uint8 или int8 значениями и другим типом данных. В реализации пакета блок копирует данные в буфер выходных данных 1 байт за один раз. Можно задать опции выравнивания данных с типами данных.
Используйте массив ячеек, чтобы ввести типы входных данных в параметр типов данных Input port. Порядок типов данных, которые вы вводите, должен совпадать с порядком типов данных во входе блока.
В массиве ячеек вы обеспечиваете порядок, в котором блок ожидает получать данные — uint32
uint32
uint16
'double'
uint8
'double'
, и single
. С этой информацией блок автоматически обеспечивает количество входных параметров блока.
Выравнивание байта равняется 2
указывает, что каждое новое значение начинает 2 байта с предыдущего контура данных.
Пример показывает следующие типы данных:
{'uint32','uint32','uint16','double','uint8','double','single'}
Когда сигналы являются скалярными значениями (не матрицы или векторы в этом примере), первое значение сигналов в векторе запускается на уровне 0 байтов. Затем второе значение сигналов запускается на уровне 2 байтов, и третье на уровне 4 байтов. Затем четвертое значение сигналов следует на уровне 6 байтов, пятое на уровне 8 байтов, шестое на уровне 10 байтов и седьмое на уровне 12 байтов. Когда пример показывает, алгоритм упаковки оставляет 1-байтовый разрыв между uint8
значение данных и двойное значение.