Этот пример иллюстрирует некоторые основные команды последовательного порта.
Этот пример показывают на платформе 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 ]
Можно найти значение по умолчанию для любого свойства на страницах с описанием свойства.