exponenta event banner

Устаревший последовательный порт

Передача и прием данных через последовательный порт основной платы

  • Библиотека:
  • Simulink в реальном времени/ RS232/основная плата

Описание

Блок Send/Receive устанавливает последовательный интерфейс для отправки и приема основных потоков символов. Этот блок имеет базовые блоки чтения FIFO внутри подсистемы. Он генерирует выходные данные в виде массива упакованных целых чисел (устанавливаемых в 8 бит, 16 бит или 32 бита). Символы отображаются в нижнем байте, а полученная информация о состоянии - в верхнем.

Порты

Вход

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

Вектор данных для передачи через порт.

Продукция

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

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

Параметры

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

Этот параметр определяет порт, для которого требуется просмотреть или изменить параметры.

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

Параметр блока: port

Выберите бод для передачи и приема данных через модем.

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

Параметр блока: baud

Выберите количество битов, которые кодируют символ.

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

Параметр блока: width

Выберите количество стоп-битов для потока символов.

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

Параметр блока: nstop

Выберите четность для проверки целостности данных.

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

Параметр блока: parity

Чтобы включить квитирование RTS/CTS UART для управления потоком, установите этот флажок. Последовательные контроллеры используют квитирование RTS/CTS для предотвращения потери данных из-за аппаратного переполнения FIFO на устройстве, на которое выполняется отправка.

Обычно процедура обслуживания прерываний выполняется достаточно быстро, чтобы очистить FIFO. Однако если модель получает переполнения FIFO, установите этот флажок.

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

Параметр блока: ctsmode

Введите максимальное количество элементов, возвращаемых одним вызовом этого блока. Блок использует этот параметр для задания ширины выходного вектора.

Если установлен флажок «Считывать с разделителем» и блок не находит разделитель до того, как он прочитает «Получить максимум прочитанных символов», то выходной вектор пуст.

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

Параметр блока: maxread

Введите минимальное количество читаемых символов. Если FIFO не содержит по крайней мере это количество символов, выходной вектор пуст.

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

Параметр блока: minread

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

Если буфер содержит ошибки, например ошибки кадрирования, модем возвращает символы независимо от наличия разделителя. Этот особый случай помогает диагностировать ошибки, такие как несовпадение скоростей передачи в бодах.

Если блок не находит разделитель перед тем, как считывает максимальное количество считанных символов Receive, то выходной вектор пуст.

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

Параметр блока: usedelimiter

Введите числовое значение символа, который является разделителем сообщения. Любое значение из 0 кому 255 является действительным. Общий случай ищет 10 (линейная подача) или 13 (возврат вагона).

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

Параметр блока: delimiter

Этот параметр определяет тип данных получателя. 8-разрядные типы данных создают в выходном векторе символьный вектор с нулевым окончанием.

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

Для 8-разрядных типов данных в выходном векторе содержатся только символьные данные, и добавляется признак конца NULL. 16-разрядные или 32-разрядные типы данных приводят к тому, что состояние ошибки из UART помещается во второй байт каждого элемента данных. (Состояние ошибки содержит биты контроля четности, переполнения, кадрирования и прерывания.) Символьные данные находятся в нижних 8 битах каждого элемента; первый элемент вектора содержит следующее количество элементов данных.

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

Параметр блока: odtype

Этот параметр определяет тип данных датчика. Для 8-разрядных типов данных во входном векторе требуется символьный вектор с окончанием NULL.

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

Если для потока данных требуется байт NULL, выберите один из 16-разрядных или 32-разрядных типов данных. Поскольку 8-битные типы данных представляют собой пустые завершенные символьные векторы, байт NULL завершает символьный вектор.

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

Параметр блока: idtype

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

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

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

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

Представлен в R2008a