Этот пример иллюстрирует некоторые основные команды последовательного порта.
Этот пример показывают на платформе Windows®.
Если вам соединили устройство с последовательным портом, COM1 и сконфигурированный для скорости в бодах 4 800, выполняют следующий пример.
s = serialport("COM1",4800); writeline(s,"*IDN?") out = readline(s); clear s
*IDN? команда запрашивает устройство для идентификационной информации, которая возвращена в out. Если ваше устройство не поддерживает эту команду, или если это соединяется с различным последовательным портом, измените предыдущий пример соответственно.
*IDN? одна из команд, поддержанных Стандартными Командами для Программируемых Инструментов (SCPI) язык, который используется многими современными устройствами. Обратитесь к своей документации устройства, чтобы видеть, поддерживает ли она язык SCPI.
Этот пример описывает шаги, которые вы используете, чтобы выполнить любую задачу последовательного порта с начала до конца.
session последовательного порта включает все шаги, которые вы, вероятно, сделаете при передаче с устройством, соединенным к последовательному порту. Эти шаги:
Найдите свои последовательные порты — Отображение список последовательных портов в вашей системе с помощью serialportlist функция.
Свяжите с устройством последовательного порта — Подключение к устройству для определенного последовательного порта с помощью serialport функция создания.
Сконфигурируйте свойства во время создания объекта при необходимости. В частности, вы можете хотеть сконфигурировать свойства, сопоставленные с коммуникациями последовательного порта, такими как скорость в бодах, количество битов данных, и так далее. Измените необходимые настройки устройства путем конфигурирования значений свойств, считайте данные и запишите данные.
Сконфигурируйте свойства — Чтобы установить желаемое поведение объекта последовательного порта, значения присвоения к свойствам с помощью записи через точку.
На практике можно сконфигурировать многие свойства в любое время включая во время, или сразу после, создание объекта. С другой стороны, в зависимости от ваших настроек устройства и требований вашего приложения последовательного порта, вы можете смочь принять значения свойств по умолчанию и пропустить этот шаг.
Запишите и считайте данные — Записывают данные к устройству с помощью writeline или write функция и считанные данные из устройства с помощью readline или read функция.
Объект последовательного порта ведет себя согласно ранее сконфигурированным или значениям свойств по умолчанию.
Разъединитесь и вымойтесь — Когда вы больше не будете нуждаться в объекте последовательного порта, будете удалять его из рабочей области MATLAB® с помощью clear команда.
Сеанс последовательного порта укреплен во многих примерах документации последовательного порта. Чтобы видеть основной пример, который использует шаги, показанные выше, смотрите Запрос Устройство Последовательного порта.
Этот пример описывает, как вы отображаете имена свойства последовательного порта и значения свойств, и как вы присваиваете значения свойствам.
Вы устанавливаете желаемое поведение объекта последовательного порта путем конфигурирования значений свойств. Можно отобразить или сконфигурировать значения свойств с помощью set функция, get функция или запись через точку.
После того, как вы создадите объект последовательного порта, используйте set функционируйте, чтобы отобразить все конфигурируемые свойства к командной строке. Кроме того, если свойство имеет конечное множество значений строки, set также отображения эти значения.
s = serial('COM1');
set(s)
ByteOrder: [ {littleEndian} | bigEndian ]
BytesAvailableFcn
BytesAvailableFcnCount
BytesAvailableFcnMode: [ {terminator} | byte ]
ErrorFcn
InputBufferSize
Name
OutputBufferSize
OutputEmptyFcn
RecordDetail: [ {compact} | verbose ]
RecordMode: [ {overwrite} | append | index ]
RecordName
Tag
Timeout
TimerFcn
TimerPeriod
UserData
SERIAL specific properties:
BaudRate
BreakInterruptFcn
DataBits
DataTerminalReady: [ {on} | off ]
FlowControl: [ {none} | hardware | software ]
Parity: [ {none} | odd | even | mark | space ]
PinStatusFcn
Port
ReadAsyncMode: [ {continuous} | manual ]
RequestToSend: [ {on} | off ]
StopBits
TerminatorИспользуйте get функционируйте, чтобы отобразить одно или несколько свойств и их текущие значения к командной строке. Отобразить все свойства и их текущие значения:
get(s)
ByteOrder = littleEndian
BytesAvailable = 0
BytesAvailableFcn =
BytesAvailableFcnCount = 48
BytesAvailableFcnMode = terminator
BytesToOutput = 0
ErrorFcn =
InputBufferSize = 512
Name = Serial-COM1
OutputBufferSize = 512
OutputEmptyFcn =
RecordDetail = compact
RecordMode = overwrite
RecordName = record.txt
RecordStatus = off
Status = closed
Tag =
Timeout = 10
TimerFcn =
TimerPeriod = 1
TransferStatus = idle
Type = serial
UserData = []
ValuesReceived = 0
ValuesSent = 0
SERIAL specific properties:
BaudRate = 9600
BreakInterruptFcn =
DataBits = 8
DataTerminalReady = on
FlowControl = none
Parity = none
PinStatus = [1x1 struct]
PinStatusFcn =
Port = COM1
ReadAsyncMode = continuous
RequestToSend = on
StopBits = 1
Terminator = LFЧтобы отобразить текущее значение для одного свойства, предоставьте имя свойства к get.
get(s,'OutputBufferSize') ans = 512
Чтобы отобразить текущие значения для нескольких свойств, включайте имена свойства как элементы массива ячеек.
get(s,{'Parity','TransferStatus'})
ans =
'none' 'idle'Используйте запись через точку, чтобы отобразить одно значение свойства.
s.Parity ans = none
Можно сконфигурировать значения свойств с помощью set функция:
set(s,'BaudRate',4800);
или запись через точку:
s.BaudRate = 4800;
Чтобы сконфигурировать значения для нескольких свойств, предоставьте несколько имя свойства / пары значения свойства к set.
set(s,'DataBits',7,'Name','Test1-serial')
Обратите внимание на то, что можно сконфигурировать только одно значение свойства во время с помощью записи через точку.
На практике можно сконфигурировать многие свойства в любое время, в то время как объект последовательного порта существует — включая во время создания объекта. Однако некоторые свойства не конфигурируемы, в то время как объект соединяется с устройством или при записи информации к диску. Для получения информации о том, когда свойство конфигурируемо, см. Описание свойства.
Имена свойства последовательного порта представлены с помощью смешанного случая. В то время как это делает имена свойства легче читать, используйте любой случай, который вы хотите при определении имен свойства. Например, чтобы сконфигурировать BaudRate свойство:
s.BaudRate = 4800; s.baudrate = 4800;
Каждый раз, когда вы явным образом не задаете значение для свойства, значение по умолчанию используется. Все конфигурируемые свойства имеют значения по умолчанию.
Ваша операционная система обеспечивает значения по умолчанию для всех настроек последовательного порта, таких как скорость в бодах. Однако эти настройки заменены вашим кодом MATLAB и не оказывают влияния на ваше приложение последовательного порта.
Если свойство имеет конечное множество значений строки, значение по умолчанию заключено {}. Например, значение по умолчанию для Parity свойством является none.
set(s,'Parity')
[ {none} | odd | even | mark | space ]Можно найти значение по умолчанию для любого свойства на страницах с описанием свойства.