ASCII Decode

Проанализируйте вектор символов ASCII в значения Simulink

  • Библиотека:
  • Simulink Real-Time / RS232

  • ASCII Decode block

Описание

Блок ASCII Decode анализирует вектор вводимого символа согласно спецификатору формата, похожему на scanf и делает преобразованные значения доступными для приложения реального времени.

Порты

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

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

Входной вектор может быть или 8-битным или 16-битным и со знаком или без знака. Если формат данных является 16-битным, блок игнорирует верхние 8 битов каждой записи.

Типы данных: int8 | uint8 | int16 | uint16

Вывод

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

Выходные порты, соответствующие элементам в Format string.

Зависимость

Number of variables определяет количество выходных портов.

Типы данных: double | int8 | uint8 | int16 | uint16 | int32 | uint32

Параметры

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

Введите scanf как строка формата. Каждый спецификатор формата, такой как %d должен совпадать с соответствующей частью входного вектора. Литеральные строки в формате должны совпадать с первым символом плюс количество символов. Спецификаторы формата следуют нормальному описанию для scanf.

Строка формата в качестве примера:

'alpha %d bravo %f\n'

Программируемое использование

Параметры блоков: format

Введите номер выходных портов для этого блока. Например:

Если Format string имеет значение %xmore text%x и входной вектор для блока имеет cdmabcdefgh90, необходимо задать значение параметра Number of variables как 2.

Первая переменная присвоена значение 0xcd. Затем вектор символов mabcdefgh рассматривается соответствием к more text потому что:

  • Первым символом для обоих векторов символов является m.

  • Оба вектора символов имеют то же количество символов.

Вторая переменная затем присвоена значение 0x90. Вектор символов mabcdefgh не должен совпадать точно со значением Format string. Это поведение отличается от поведения для scanf, который требует точного совпадения.

Программируемое использование

Параметры блоков: nvars

Вектор ячейки с тем же числом элементов, как задано в Number of variables может задать другой тип данных для каждого выходного порта. Реплицирован один элемент. Например:

nvars=3

{ } — Эти три выходных параметров, удваивается.

{'uint8'} — Этими тремя выходными параметрами является uint8.

{'uint16', 'double', 'uint8'} — Первым выходом является uint16, вторым выходом является double, и третьим выходом является uint8.

Программируемое использование

Параметры блоков: varids

Примеры модели

Введенный в R2020b