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 = последовательный (
вызовите, убедитесь, что порт свободен и не уже открыт ни в каком другом приложении. Если порт открыт в другом приложении, MATLAB не может получить доступ к нему. Если вы получили доступ в MATLAB, можно открыть тот же порт в других приложениях, и MATLAB продолжит использовать его наряду с любым другим приложением, которое имеет его открытый также. 'port'
)
Если объект последовательного порта создается, следующие свойства являются автоматически присвоенными значениями. Эти свойства общего назначения предоставляют описательную информацию об объекте последовательного порта на основе типа объекта и последовательного порта.
Описательные свойства общего назначения
Отобразите значения этих свойств для s
с get
функция. На платформе Windows это будет выглядеть так:
get(s,{'Name','Port','Type'}) ans = 'Serial-COM1' 'COM1' 'serial'
Можно сконфигурировать свойства последовательного порта во время создания объекта. 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')