Чтение FIFO HDRS

Считайте несколько потоков данных ASCII согласно информации о заголовке

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

Описание

Блок FIFO Read HDRS идентифицирует и разделяет потоки данных ASCII, которые встроили идентификаторы.

Данные после конкретного заголовка могут иметь переменные длины, но имеют общий маркер завершения, такой как <CR><LF>. Несмотря на то, что можно достигнуть этой той же функциональности с блоком FIFO Read, делание так требует сложного конечного автомата со следующим поведением:

  • Если тот же заголовок прибывает в FIFO несколько раз после того, как блок в последний раз выполнялся, блок возвращает последний экземпляр заголовка. Таким образом блок догоняет данные, которые прибывают быстрее, чем блок выполняется.

  • Если заголовок прибывает в FIFO, который не совпадает с элементом в списке заголовков, блок отбрасывает сообщение.

  • Если байты прибывают в FIFO, которые не совпадают с заголовком, блок интерпретирует сообщение как наличие незаданного заголовка. Блок пропускает эти байты.

Папка xpcdemos содержит следующие примеры, которые иллюстрируют, как использовать блок FIFO Read HDRS: xpcserialasciitest и xpcserialasciisplit.

Порты

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

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

Подключения к программному обеспечению FIFO, содержащему данные, считанные из последовательного порта.

Если true, читайте из FIFO.

Зависимость

Заставить этот порт становиться видимым, установленным параметром Enable input.

Вывод

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

Векторы, содержащие проанализированные данные, считанные из FIFO. Каждый вывод соответствует одному из заголовков.

Зависимость

Чтобы определить тип данных этого вектора, установите параметр Output vector type.

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

Параметры

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

Введите заголовки, которые вы хотите, чтобы блок искал в блоке данных от FIFO. Введите каждый заголовок в одинарные кавычки как элемент в массиве ячеек.

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

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

Введите вектор оконечного знака для данных. Введите символы, задающие конец вектора символов, обычно один или два символа.

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

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

Из списка выберите поведение блока, если FIFO не получил новые данные:

  • Hold last output if no new data — Блок сохраняет вывод от последнего сообщения FIFO.

  • Zero output if no new data — Блок перезаписывает первый элемент вывода с 0.

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

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

Чтобы создать входной порт, который включает или отключает операцию чтения, установите этот флажок. Входной порт берет булев сигнал.

Зависимость

Входной порт причин E, чтобы стать видимым.

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

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

Задайте максимальное количество символов для этого блока, чтобы возвратиться. Размер итогового вектора является еще одним, чем это максимальное количество символов. Этот блок указывает на количество символов, возвращаемых с помощью дополнительного элемента как:

  • Пустой терминатор строки для 8-битных типов данных

  • Счетчик символов для 16-битных и 32-битных типов данных

Введите достаточно большой номер. Если этот номер является слишком маленьким, блок ничего не может возвратить. Например, если вы вводите значение 10, но на выполнении FIFO содержит символы 11 плюс пустой терминатор строки, блок не возвращает символов. С другой стороны, если это содержит 5, блок возвращает символы 5 плюс пустой терминатор строки.

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

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

8-битные типы данных производят отключенный вектор символов пустого указателя в выходном векторе. Для 16-битных и 32-битных типов данных первый элемент содержит число элементов, чтобы ожидать в остальной части выходного вектора.

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

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

Введите основной шаг расчета или кратное основному шагу расчета. -1 означает, что шаг расчета наследован.

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

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

Образцовые примеры

Введенный в R2008a