Создание объекта последовательного порта

Обзор объекта последовательного порта

Функция serial требует имени последовательного порта, соединенного с вашим устройством как входной параметр. Кроме того, можно сконфигурировать значения свойств во время создания объекта. Чтобы создать объект последовательного порта, сопоставленный с последовательным портом, войдите:

s = serial('port');

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

Функция seriallist возвращает список всех последовательных портов в системе. Список включает виртуальные последовательные порты, обеспеченные USB-to-serial устройствами и Bluetooth Serial Port Profile устройствами. Это предоставляет список последовательных портов, к которым вы имеете доступ на вашем компьютере и могли использовать для коммуникации последовательного порта. Например:

seriallist

ans = 

  1×2 string array

  "COM1"    "COM3"

Эта таблица показывает пример последовательных конструкторов на других платформах:

Платформа

Последовательный конструктор

Linux® 64-bit

serial('/dev/ttyS0');

macOS 64-bit

serial('/dev/tty.KeySerial1');

Microsoft® Windows® 64-bit

serial('com1');

Объект последовательного порта s теперь существует в рабочей области MATLAB®. Чтобы отобразить класс s, используйте команду whos.

whos s
  Name      Size         Bytes  Class

  s         1x1            512  serial object

Grand total is 11 elements using 512 bytes

Примечание

В первый раз вы пытаетесь получить доступ к последовательному порту в MATLAB с помощью вызова s = serial('port'), убедитесь, что порт свободен и не уже открыт ни в каком другом приложении. Если порт открыт в другом приложении, MATLAB не может получить доступ к нему. Если вы получили доступ в MATLAB, можно открыть тот же порт в других приложениях, и MATLAB продолжит использовать его наряду с любым другим приложением, которое имеет его открытый также.

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

Описательные свойства общего назначения

PropertyName Описание

Name

Задайте описательное имя для объекта последовательного порта

Порт

Укажите на специфичное для платформы имя последовательного порта

Type

Укажите на тип объекта

Отобразите значения этих свойств для s с функцией get. На платформе Windows это будет выглядеть так:

get(s,{'Name','Port','Type'})
ans = 
    'Serial-COM1'    'COM1'    'serial'

Configuring Properties во время создания объекта

Можно сконфигурировать свойства последовательного порта во время создания объекта. serial принимает имена свойства и значения свойств в том же формате как функция set. Например, можно задать имя свойства / пары значения свойства.

s = serial('port','BaudRate',4800,'Parity','even');

Если вы задаете недопустимое имя свойства, объект не создается. Однако, если вы задаете недопустимое значение для некоторых свойств (например, BaudRate установлен в 50), объектная сила быть созданным, но вам не сообщают о недопустимом значении, пока вы не соединяете объект с устройством с функцией fopen.

Отображение объекта последовательного порта

Объект последовательного порта предоставляет вам удобное отображение, которое обобщает важную настройку и информацию состояния. Можно вызвать сводные данные отображения эти три пути:

  • Введите имя переменной объекта последовательного порта в командной строке.

  • Исключите точку с запятой при создании объекта последовательного порта.

  • Исключите точку с запятой при конфигурировании свойств с помощью записи через точку.

Чтобы отобразить итоговую информацию с помощью браузера Рабочей области, щелкните правой кнопкой по инструменту, возражают и выбирают Display Summary из контекстного меню.

Сводные данные отображения для объекта последовательного порта s на платформе Windows:

Serial Port Object : Serial-COM1

Communication Settings 
   Port:               COM1
   BaudRate:           9600
   Terminator:         'LF'

Communication State 
   Status:             closed
   RecordStatus:       off
Read/Write State  
   TransferStatus:     idle
   BytesAvailable:     0
   ValuesReceived:     0
   ValuesSent:         0

Создание массива объектов последовательного порта

В MATLAB вы создаете массив из существующих переменных путем конкатенации тех переменных вместе. То же самое верно для объектов последовательного порта. Например, предположите, что вы создаете объекты последовательного порта s1 и s2 на платформе Windows.

s1 = serial('COM1');
s2 = serial('COM2');

Создайте массив объекта последовательного порта, состоя из s1 и s2, с помощью обычного синтаксиса MATLAB. Создать массив строк x, введите:

x = [s1 s2]

Instrument Object Array

   Index:   Type:        Status:      Name:  
   1        serial       closed       Serial-COM1
   2        serial       closed       Serial-COM2

Создать массив столбца y, введите:

y = [s1;s2];

Обратите внимание на то, что вы не можете создать матрицу объектов последовательного порта. Например, вы не можете создать матрицу:

z = [s1 s2;s1 s2];
??? Error using ==> serial/vertcat
Only a row or column vector of instrument objects can be created.

В зависимости от вашего приложения вы можете хотеть передать массив объектов последовательного порта к функции. Например, чтобы сконфигурировать скорость в бодах и четность для s1 и s2 с помощью одного вызова set:

set(x,'BaudRate',19200,'Parity','even')