Преобразуйте входные сигналы в вектор 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 байт за один раз. Можно задать опции выравнивания данных с типами данных.
Используйте массив ячеек, чтобы ввести типы входных данных в параметр типов данных Входного порта. Порядок типов данных, которые вы вводите, должен совпадать с порядком типов данных во входе блока.
В массиве ячеек вы обеспечиваете порядок, в котором блок ожидает получать данные — 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
и двойным значением.