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