(Чтобы быть удаленным) доступ к последовательным свойствам
serial
и его свойства объектов не рекомендуются. Использование serialport
и его свойства вместо этого. См. Вопросы совместимости.
Последовательные свойства используются, чтобы сконфигурировать коммуникации с помощью serial
возразите и сконфигурировать поведение записи и чтение.
Некоторые свойства могут быть установлены во время создания объекта с serial
функция. Смотрите serial
страница с описанием для получения информации о тех свойствах, которые включают Port
BaudRate
ByteOrder
DataBits
Четность
StopBits
, и Terminator
.
Коммуникационные свойства используются, чтобы установить настройки передачи бита данных. Считайте и запишите, что свойства используются, чтобы сконфигурировать факторы, вовлеченные в чтение и запись данных, такие как установка тайм-аута для завершения операции. Используйте свойства коллбэка выполнить функции обратного вызова от событий. Используйте свойства контакта управления сконфигурировать контакты уровня контроля и управление потоком данных. Используйте свойства записи настроить и управлять информацией о записи к диску.
Примечание
Этот демонстрационный синтаксис для всех свойств принимает, что вы создали последовательный объект, s
. Многие свойства могут только быть установлены прежде, чем вызвать fopen
на объекте. Некоторые могут быть изменены, в то время как объект открыт.
Свойства могут быть установлены после того, как вы создадите serial
объект. Свойство только для чтения называется можно следующим образом:
s = serial('COM1');
s.TransferStatus
ans = idle
Свойство, которое можно сконфигурировать, установлено можно следующим образом:
s = serial('COM1');
s.Timeout = 30;
Name
— Описательное имя для объекта последовательного портаОписательное имя для объекта последовательного порта в виде вектора символов или строки. Когда вы создаете объект последовательного порта, описательное имя автоматически сгенерировано и сохранено в Name
. Это имя дано путем конкатенации слова "Serial" с последовательным портом, заданным в serial
функция. Однако можно изменить значение Name
в любое время.
Последовательный порт дан Port
свойство. Если вы изменяете это значение свойства, то Name
автоматически обновляется, чтобы отразить то изменение.
Пример: s.Name = 'MySerialDevice';
Типы данных: char |
string
Port
— Имя последовательного портаЭто свойство доступно только для чтения.
Имя последовательного порта в виде вектора символов или строки. seriallist
функция предоставляет список доступных последовательных портов. Необходимо задать порт, чтобы создать объект последовательного порта.
Имя порта зависит от платформы, что последовательный порт работает. Этот список является примером последовательных конструкторов на других платформах:
Платформа | Конструктор последовательного порта |
---|---|
Linux® 64 | s = serial('/dev/ttyS0') |
macOS 64 | s = serial('/dev/tty.KeySerial1') |
Windows® 64 | s = serial('COM1') |
Пример: s.Port
Типы данных: char |
string
Tag
— Пометьте, чтобы сопоставить с объектом последовательного портаПометьте, чтобы сопоставить с объектом последовательного порта в виде вектора символов или строки. Tag
однозначно определяет объект последовательного порта. Tag
особенно полезно при построении программ, которые должны были бы в противном случае задать объект последовательного порта как глобальную переменную или передать объект в качестве аргумента между стандартными программами коллбэка.
Можно возвратить объект последовательного порта с instrfind
функция путем определения Tag
значение свойства.
Пример: s.Tag = 'MySerialObj';
Типы данных: char |
string
Type
— Тип объектаserial
(значение по умолчанию)Это свойство доступно только для чтения.
Тип объекта в виде serial
Ввод
автоматически задан после того, как объект последовательного порта создается с serial
функция. Type
значением всегда является serial
.
Пример: s.Type
Типы данных: char |
string
UserData
— Данные вы хотите сопоставить с объектом последовательного портаДанные вы хотите сопоставить с объектом последовательного порта в виде массива MATLAB. Сконфигурируйте UserData
хранить данные, которые вы хотите сопоставить с объектом последовательного порта. Объект не использует эти данные непосредственно, но можно получить доступ к нему с помощью получить функции или записи через точку.
ObjectVisibility
— Управляйте доступом к объекту последовательного порта'on'
(значение по умолчанию) | 'off'
Управляйте доступом к объекту последовательного порта в виде 'on'
или 'off'
. Это обеспечивает способ для разработчиков приложений предотвратить доступ конечных пользователей к объектам последовательного порта, созданным их приложениями. Когда ObjectVisibility
объекта свойство установлено в
'off'
instrfind
не возвращает или удаляет тот объект.
Объекты, которые не отображаются, все еще допустимы. Если у вас есть доступ к объекту (например, из файла, который создает его), можно установить и получить его свойства и передать его любой функции, которая работает с объектами последовательного порта.
Пример: s.ObjectVisibility = 'off';
Типы данных: char |
string
ByteOrder
— Порядок байтов устройстваlittleEndian
(значение по умолчанию) | bigEndian
Порядок байтов устройства в виде littleEndian
или bigEndian
. Если ByteOrder
littleEndian
, устройство хранит первый байт в первом адресе памяти. Если ByteOrder
bigEndian
, устройство хранит последний байт в первом адресе памяти.
Например, предположите, что шестнадцатеричное значение 4F52 должно храниться в памяти устройства. Поскольку это значение состоит из двух байтов, 4F и 52, две ячейки памяти используются. Используя формат с обратным порядком байтов, 4F хранится сначала в более низком адресе ЗУ. Используя формат с прямым порядком байтов, 52 хранится сначала в более низком адресе ЗУ.
Порядок байтов littleEndian
значение по умолчанию и используется в операциях чтения и операциях записи, если вы не задаете свойство. Необходимо задать свойство только, чтобы изменить порядок байтов в bigEndian
.
Можно также установить ByteOrder
свойство после создания последовательного объекта с помощью этого синтаксиса:
s.ByteOrder = 'bigEndian';
Примечание
Сконфигурируйте ByteOrder
к соответствующему значению для вашего устройства прежде, чем выполнить операцию чтения или операцию записи. Обратитесь к своей документации устройства для получения информации о порядке, в котором это хранит байты.
Пример: s.ByteOrder = 'bigEndian';
Типы данных: char |
string
BaudRate
— Уровень, на котором передаются битыУровень, на котором биты передаются в виде двойного. Вы конфигурируете скорость в бодах как биты в секунду. Переданные биты включают старт-бит, биты данных, бит четности (если используется), и стоп-биты. Однако только биты данных хранятся.
Скорость в бодах является уровнем, на котором информация передается в канале связи. В контексте последовательного порта 9 600 бодов означают, что последовательный порт способен к передаче максимума 9 600 бит в секунду. Если информационный модуль составляет один бод (один бит), битрейт и скорость в бодах идентичны. Если один бод дан как 10 битов, (например, восемь битов данных плюс два предельных бита), битрейт все еще 9600, но скорость в бодах является 9600/10, или 960. Вы всегда конфигурируете BaudRate
как биты в секунду.
Примечание
И компьютер и периферийное устройство должны быть сконфигурированы к той же скорости в бодах, прежде чем можно будет успешно читать или записать данные.
Стандартные скорости в бодах включают 110, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200, 128000, и 256 000 бит в секунду.
Можно также установить BaudRate
свойство после создания последовательного объекта с помощью этого синтаксиса:
s.BaudRate = 4800;
Пример: s.BaudRate = 4800;
Типы данных: double
DataBits
— Количество битов данных, чтобы передатьКоличество битов данных, чтобы передать в виде 5
, 6, 7
, или
8
. Данные передаются как серия пять, шесть, семь, или восемь битов с младшим значащим битом, отправленным сначала. По крайней мере семь битов данных требуются, чтобы передавать символы ASCII. Восемь битов требуются, чтобы передавать двоичные данные. Пятибитные и шестибитные форматы данных используются для специализированного оборудования связи.
Примечание
И компьютер и периферийное устройство должны быть сконфигурированы, чтобы передать то же количество битов данных.
В дополнение к битам данных формат последовательных данных состоит из старт-бита, одного или двух стоп-битов, и возможно бита четности. Вы задаете количество стоп-битов с StopBits
свойство и тип проверки четности с Parity
свойство.
Можно также установить DataBits
свойство после создания последовательного объекта с помощью этого синтаксиса:
s.DataBits = 7;
Пример: s.DataBits = 7;
Типы данных: double
Parity
— Тип проверки четности'none'
(значение по умолчанию) | 'odd'
| 'even'
| 'mark'
| 'space'
Тип проверки четности в виде none
, odd
, even
, mark
, или space
.
| Значение по умолчанию. Никакая проверка четности. Проверка четности не выполняется, и бит четности не передается. |
| Проверка отрицательной четности. Количество битов метки (1 с) в данных считается, и бит четности утверждается или не утверждается получить нечетное число битов метки. |
| Проверка четности. Количество битов метки в данных считается, и бит четности утверждается или не утверждается получить четное число битов метки. |
| Отметьте проверку четности. Бит четности утверждается. |
| Проверка четности пробела. Бит четности не утверждается. |
Проверка четности может обнаружить ошибки одного бита только. Ошибка в силе на два бита заставляет данные иметь на вид допустимую четность, когда на самом деле это неправильно.
В дополнение к биту четности формат последовательных данных состоит из старт-бита, от пяти до восьми битов данных, и одного или двух стоп-битов. Вы задаете количество битов данных с DataBits
свойство и количество стоп-битов с StopBits
свойство.
Можно также установить Parity
свойство после создания последовательного объекта с помощью этого синтаксиса:
s.Parity = 'even';
Пример: s.Parity = 'even';
Типы данных: char |
string
StopBits
— Количество битов раньше указывало на конец байтаКоличество битов раньше указывало на конец байта в виде 1
, 1.5, или
2
. Если StopBits
1
, один стоп-бит используется, чтобы указать на конец передачи данных. Если StopBits
2
, два стоп-бита используются, чтобы указать на конец передачи данных. Если StopBits
1.5
, стоп-бит передается в течение 150% нормального времени, используемого, чтобы передать один бит.
Примечание
И компьютер и периферийное устройство должны быть сконфигурированы, чтобы передать то же количество стоп-битов.
Сводные данные возможных значений:
1 | Значение по умолчанию. Один стоп-бит передается, чтобы указать на конец байта. |
1.5 | Стоп-бит передается в течение 150% нормального времени, используемого, чтобы передать один бит. |
2 | Два стоп-бита передаются, чтобы указать на конец байта. |
В дополнение к стоп-битам формат последовательных данных состоит из старт-бита, от пяти до восьми битов данных, и возможно бита четности. Вы задаете количество битов данных с DataBits
свойство и тип проверки четности с Parity
свойство.
Можно также установить StopBits
свойство после создания последовательного объекта с помощью этого синтаксиса:
s.StopBits = 2;
Пример: s.StopBits = 2;
Типы данных: double
Terminator
— Символ ТерминатораСимвол Терминатора в виде массива строк или массива ячеек. Можно сконфигурировать Terminator
к целочисленному значению в пределах от от 0 до 127, который представляет код ASCII для символа, или можно сконфигурировать Terminator
к символу ASCII. Например, чтобы сконфигурировать Terminator
к возврату каретки задайте значение, чтобы быть CR
или 13
. Сконфигурировать Terminator
к переводу строки задайте значение, чтобы быть LF
или 10
. Можно также установить Terminator
к CR/LF
или LF/CR
. Если Terminator
CR/LF
, терминатор строки является возвратом каретки, сопровождаемым переводом строки. Если Терминатором является LF/CR
, терминатор строки является переводом строки, сопровождаемым возвратом каретки. Обратите внимание на то, что нет никаких целочисленных эквивалентов для этих двух значений.
Кроме того, можно установить Terminator
к 1 2 массиву ячеек. Первым элементом ячейки является терминатор строки чтения, и вторым элементом массива ячеек является терминатор строки записи.
При выполнении операции записи с помощью fprintf
функция, все случаи \n
заменяются Terminator
значение свойства. Обратите внимание на то, что %s\n
формат по умолчанию для fprintf
. Операция чтения с fgetl
, fgets
, или fscanf
завершается когда Terminator
значение читается. Терминатор строки проигнорирован для бинарных операций.
Можно также использовать терминатор строки, чтобы сгенерировать доступное для байтов событие когда BytesAvailableFcnMode
установлен в terminator
.
Можно также установить Terminator
свойство после создания последовательного объекта, с помощью этого синтаксиса:
s.Terminator = 'CR';
Пример: s.Terminator = 'CR';
Типы данных: char |
string
| cell
BytesAvailable
— Количество байтов, доступных во входном буфереЭто свойство доступно только для чтения.
Количество байтов, доступных во входном буфере в виде двойного. Это свойство только для чтения указывает на количество байтов, в настоящее время доступных, чтобы быть считанным из входного буфера. Значение свойства постоянно обновляется, когда входной буфер заполнен, и установлен в 0
после fopen
функция выпущена.
Можно использовать BytesAvailable
только при чтении данных асинхронно. Это вызвано тем, что при чтении данных синхронно, управление возвращено в MATLAB® командная строка только после входного буфера пуста. Поэтому BytesAvailable
значение всегда 0.
BytesAvailable
значение может лежать в диапазоне от нуля до размера входного буфера. Используйте InputBufferSize
свойство задать размер входного буфера. Используйте ValuesReceived
свойство возвратить общее количество чтения значений.
Пример:
s.BytesAvailable
Типы данных: double
InputBufferSize
— Размер входного буфера в байтахРазмер входного буфера в байтах в виде двойного. Вы конфигурируете InputBufferSize
как общее количество байтов, которые могут храниться во входном буфере во время операции чтения.
Операция чтения отключена, если объем данных, сохраненный во входном буфере, равняется InputBufferSize
значение. Можно считать текстовые данные с fgetl
, fget
, или fscanf
функции. Можно считать двоичные данные с fread
функция.
Можно сконфигурировать InputBufferSize
только, когда объект последовательного порта отключается от устройства. Можно сконфигурировать его прежде, чем вызвать fopen
функция. Вы отключаете объект с fclose
функция. Разъединенный объект имеет Status
значение свойства closed
.
Если вы конфигурируете InputBufferSize
в то время как существуют данные во входном буфере, те данные очищены.
Пример:
s.InputBufferSize = 768;
Типы данных: double
ReadAsyncMode
— Задайте, является ли асинхронная операция чтения непрерывной или ручной'continuous'
(значение по умолчанию) | 'manual'
Задайте, является ли асинхронная операция чтения непрерывной или ручной в виде 'manual'
или 'continuous'
. Если ReadAsyncMode
continuous
, объект последовательного порта постоянно запрашивает устройство, чтобы определить, доступны ли данные, чтобы быть считанными. Если данные доступны, они автоматически читаются и хранятся во входном буфере. Если выпущено, readasync
функция проигнорирована.
Если ReadAsyncMode
manual
, объект не запрашивает устройство, чтобы определить, доступны ли данные, чтобы быть считанными. Вместо этого необходимо вручную выйти readasync
функция, чтобы выполнить асинхронную операцию чтения. Поскольку readasync
проверки на терминатор строки, эта функция может быть медленной. Чтобы увеличить скорость, сконфигурируйте ReadAsyncMode
к continuous
.
Примечание
Если устройство будет готово передать данные, оно сделает так независимо от ReadAsyncMode
значение. Поэтому, если ReadAsyncMode
manual
и операция чтения не происходит, данные могут быть потеряны. Чтобы гарантировать, что все передаваемые данные хранятся во входном буфере, необходимо сконфигурировать ReadAsyncMode
к continuous
.
Чтобы определить объем данных, доступный во входном буфере, используйте BytesAvailable
свойство. Для любого ReadAsyncMode
значение, можно принести данные в рабочее пространство MATLAB с одной из синхронных функций чтения такой как fscanf
, fgetl
, fgets
, или fread
.
Пример:
s.ReadAsyncMode = 'manual';
Типы данных: char |
string
Timeout
— Время ожидания, чтобы завершить операцию чтения или операцию записиВремя ожидания, чтобы завершить операцию чтения или операцию записи в виде двойного. Вы конфигурируете Timeout
быть максимальным временем (в секундах), чтобы ожидать, чтобы завершить операцию чтения или операцию записи. Значение по умолчанию 10
секунды используются, если вы не задаете различное значение. Тайм-ауты округлены вверх к целым секундам.
Если тайм-аут происходит, аварийные прекращения работы операции чтения или операции записи. Кроме того, если тайм-аут происходит во время асинхронной операции чтения или операции записи, то:
Ошибочное событие сгенерировано.
Функция обратного вызова задана для ErrorFcn
выполняется.
Пример:
s.Timeout = 30;
Типы данных: double
TransferStatus
— Состояние асинхронной операции чтения или операции записиidle
(значение по умолчанию) | read
| write
| read&write
Это свойство доступно только для чтения.
Состояние асинхронной операции чтения или операции записи в виде idle
чтение
запись
, или read&write
. Это свойство только для чтения указывает, происходят ли асинхронная операция чтения или операция записи. Если TransferStatus
idle
, никакие асинхронные операции чтения или операции записи не происходят. Если это - read
, асинхронная операция чтения происходит. Если это - write
, асинхронная операция записи происходит. Если TransferStatus
read&write
, и асинхронное чтение и асинхронная операция записи происходят.
Можно записать данные асинхронно с помощью fprintf
или fwrite
функции. Можно считать данные асинхронно с помощью readasync
функция, или путем конфигурирования ReadAsyncMode
свойство к continuous
в то время как readasync
выполняется, TransferStatus
может указать, что данные считываются даже при том, что данные не заполняют входной буфер. Если ReadAsyncMode
continuous
TransferStatus
указывает, что данные только для чтения, когда данные заполняют входной буфер.
Можно выполнить асинхронное чтение и асинхронную операцию записи одновременно, потому что последовательные порты имеют отдельное чтение и контакты записи.
Сводные данные возможные значения:
| Никакие асинхронные операции не происходят. |
| Асинхронная операция чтения происходит. |
| Асинхронная операция записи происходит. |
| Асинхронные операции чтения и операции записи происходят. |
Пример:
s.TransferStatus
Типы данных: char |
string
ValuesReceived
— Общее количество значений считано из устройстваЭто свойство доступно только для чтения.
Общее количество значений, считанных из устройства в виде двойного. Это - свойство только для чтения, и значение обновляется после каждой успешной операции чтения и устанавливается к 0
после fopen
функция выпущена. Если терминатор строки читается из устройства, то это значение отражается ValuesReceived
.
Если вы считываете данные асинхронно, используйте BytesAvailable
свойство возвратить количество байтов, в настоящее время доступных во входном буфере.
При выполнении операции чтения принятые данные представлены значениями, а не байтами. Значение состоит из одного или нескольких байтов. Например, один uint32
значение состоит из четырех байтов.
Например, создайте объект последовательного порта, сопоставленный с последовательным портом COM1, и откройте связь.
s = serial('COM1'); fopen(s)
Если вы пишете RS232?
команда, и считала назад использование ответа fscanf
ValuesReceived
17
потому что инструмент сконфигурирован, чтобы отправить LF
терминатор.
fprintf(s,'RS232?') out = fscanf(s) out = 9600;0;0;NONE;LF s.ValuesReceived ans = 17
Пример:
s.ValuesReceived
Типы данных: double
BytesToOutput
— Количество байтов в настоящее время в буфере выводаЭто свойство доступно только для чтения.
Количество байтов в настоящее время в буфере вывода в виде двойного. Это свойство только для чтения указывает на количество байтов в настоящее время в буфере вывода, ожидающем, чтобы быть записанным в устройство. Значение свойства постоянно обновляется, когда буфер вывода заполнен и опорожнен и установлен в 0
после fopen
функция выпущена.
Можно использовать BytesToOutput
только при записывании данные асинхронно. Это вызвано тем, что при записывании данные синхронно, управление возвращено в командную строку MATLAB только после того, как буфер вывода будет пуст. Поэтому BytesToOutput
значением всегда является 0
.
Используйте ValuesSent
свойство возвратить общее количество значений, записанных в устройство.
Примечание
При попытке выписать больше данных, чем может поместиться в буфер вывода, ошибка возвращена и BytesToOutput
0
. Задайте размер буфера вывода с OutputBufferSize
свойство.
Пример:
s.BytesToOutput
Типы данных: double
OutputBufferSize
— Размер буфера вывода в байтахРазмер буфера вывода в байтах в виде двойного. Вы конфигурируете OutputBufferSize
как общее количество байтов, которые могут храниться в буфере вывода во время операции записи.
Можно сконфигурировать OutputBufferSize
только, когда объект последовательного порта отключается от устройства. Можно сконфигурировать его прежде, чем вызвать fopen
функция. Вы отключаете объект с fclose
функция. Разъединенный объект имеет Status
значение свойства closed
.
Ошибка происходит, если буфер вывода не может содержать все данные, которые будут записаны. Вы пишете текстовые данные с fprintf
функция. Вы пишете двоичные данные с fwrite
функция.
Пример:
s.OutputBufferSize = 256;
Типы данных: double
ValuesSent
— Общее количество значений записано в устройствоЭто свойство доступно только для чтения.
Общее количество значений, записанных в устройство в виде двойного. Это - свойство только для чтения, и значение обновляется после каждой успешной операции записи и устанавливается к 0
после fopen
функция выпущена. Если вы пишете терминатор строки, ValuesSent
отражает это значение.
Если вы записываете данные асинхронно, используйте BytesToOutput
свойство возвратить количество байтов в настоящее время в буфере вывода.
При выполнении операции записи передаваемые данные представлены значениями, а не байтами. Значение состоит из одного или нескольких байтов. Например, один uint32
значение состоит из четырех байтов.
Например, создайте объект последовательного порта, сопоставленный с последовательным портом COM1, и откройте связь.
s = serial('COM1'); fopen(s)
Если вы пишете *IDN?
команда с помощью fprintf
функция, ValuesSent
6
потому что форматом данных по умолчанию является %s\n
, и терминатор строки был записан.
fprintf(s,'*IDN?') s.ValuesSent ans = 6
Пример:
s.ValuesSent
Типы данных: double
Status
— Состояние подключения устройства последовательного портаЭто свойство доступно только для чтения.
Состояние подключения устройства последовательного порта, возвращенного как closed
или open
. Это свойство только для чтения указывает, соединяется ли объект последовательного порта с устройством. Если Status
closed
, объект последовательного порта не соединяется с устройством. Если Status
open
, объект последовательного порта соединяется с устройством.
Прежде чем можно будет записать или считать данные, необходимо соединить объект последовательного порта с устройством с fopen
функция. Используйте fclose
функционируйте, чтобы отключить объект последовательного порта от устройства.
Пример:
s.Status
Типы данных: char |
string
BreakInterruptFcn
— Функция обратного вызова, чтобы запуститься, когда событие прерывания пропуска имеет местоФункция обратного вызова, чтобы запуститься, когда событие прерывания пропуска имеет место в виде указателя на функцию. Событие прерывания пропуска сгенерировано последовательным портом, когда принятые данные находятся в от (пробела), утверждают дольше, чем время передачи для одного байта.
Примечание
Событие прерывания пропуска может быть сгенерировано в любое время во время сеанса последовательного порта.
Если RecordStatus
значением свойства является on
, и событие прерывания пропуска имеет место, файл записи записывает эту информацию:
Тип события как BreakInterrupt
Время событие произошло с помощью дневного года месяца формата hour:minute:second:millisecond
Типы данных: function_handle
BytesAvailableFcn
— Функция обратного вызова, чтобы запуститься, когда доступное для байтов событие имеет местоФункция обратного вызова, чтобы запуститься, когда доступное для байтов событие имеет место в виде указателя на функцию. Доступное для байтов событие имеет место когда количество байтов, заданных BytesAvailableFcnCount
свойство доступно во входном буфере, или после того, как терминатор строки будет считан, как определено BytesAvailableFcnMode
свойство.
Примечание
Доступное для байтов событие может быть сгенерировано только для асинхронных операций чтения.
Если RecordStatus
значением свойства является on
, и доступное для байтов событие имеет место, файл записи записывает эту информацию:
Тип события как BytesAvailable
Время событие произошло с помощью дневного года месяца формата hour:minute:second:millisecond
Примечание
Вы не можете использовать значения ASCII, больше, чем 127 символов. Функция ограничивается 127 бинарными символами.
Пример: s.BytesAvailableFcn = @instrcallback;
Типы данных: function_handle
BytesAvailableFcnCount
— Количество байтов, которые должны быть доступными во входном буфереКоличество байтов, которые должны быть доступными во входном буфере, чтобы сгенерировать доступное для байтов событие в виде номера.
Используйте BytesAvailableFcnMode
свойство задать, имеет ли доступное для байтов событие место после определенного числа байтов, доступно или после того, как терминатор строки читается.
Доступное для байтов событие выполняет функцию обратного вызова, заданную для BytesAvailableFcn
свойство.
Можно сконфигурировать BytesAvailableFcnCount
только, когда объект отключается от устройства. Вы отключаете объект с fclose
функция. Разъединенный объект имеет Status
значение свойства closed
.
Пример: s.BytesAvailableFcnCount = 40;
Типы данных: double
BytesAvailableFcnMode
— Тип доступной для байтов функции'terminator'
(значение по умолчанию) | 'byte'
Тип доступной для байтов функции, чтобы сгенерировать доступное для байтов событие в виде 'terminator'
или 'byte'
. Если BytesAvailableFcnMode
'terminator'
, доступное для байтов событие имеет место когда терминатор строки, заданный Terminator
свойство достигнуто. Если BytesAvailableFcnMode
'byte'
, доступное для байтов событие имеет место когда количество байтов, заданных BytesAvailableFcnCount
свойство доступно.
Доступное для байтов событие выполняет функцию обратного вызова, заданную для BytesAvailableFcn
свойство.
Можно сконфигурировать BytesAvailableFcnMode
только, когда объект отключается от устройства. Вы отключаете объект с fclose
функция. Разъединенный объект имеет Status
значение свойства closed
.
Пример: s.BytesAvailableFcnMode = 'byte';
Типы данных: char |
string
ErrorFcn
— Функция обратного вызова, чтобы запуститься, когда ошибочное событие имеет местоФункция обратного вызова, чтобы запуститься, когда ошибочное событие имеет место в виде указателя на функцию.
Примечание
Ошибочное событие сгенерировано только для асинхронных операций чтения и операций записи.
Ошибочное событие сгенерировано, когда тайм-аут происходит. Тайм-аут происходит, если операция чтения или операция записи успешно не завершаются в течение времени, заданного Timeout
свойство. Ошибочное событие не сгенерировано для ошибок настройки, таких как установка недопустимого значения свойства.
Если RecordStatus
значением свойства является on
, и ошибочное событие имеет место, файл записи записывает эту информацию:
Тип события как Error
Сообщение об ошибке
Время событие произошло с помощью дневного года месяца формата hour:minute:second:millisecond
Типы данных: function_handle
OutputEmptyFcn
— Функция обратного вызова, чтобы запуститься, когда пустое от выхода событие имеет местоФункция обратного вызова, чтобы выполниться, когда пустое от выхода событие имеет место в виде указателя на функцию. Пустое от выхода событие имеет место, когда последний байт отправляется с буфера вывода на устройство.
Примечание
Пустое от выхода событие может быть сгенерировано только для асинхронных операций записи.
Если RecordStatus
значением свойства является on
, и пустое от выхода событие имеет место, файл записи записывает эту информацию:
Тип события как OutputEmpty
Время событие произошло с помощью дневного года месяца формата hour:minute:second:millisecond
Типы данных: function_handle
PinStatusFcn
— Функция обратного вызова, чтобы запуститься, когда событие изменения состояния контакта происходитФункция обратного вызова, чтобы запуститься, когда событие изменения состояния контакта происходит в виде указателя на функцию. Событие изменения состояния контакта происходит, когда обнаружение несущей (CD), Clear to Send (CTS), Data Set Ready (DSR) или Ring Indicator (RI) прикрепляют состояние изменений. Контакт последовательного порта изменяет состояние, когда это утверждается или не утверждается. Информация о состоянии этих контактов зарегистрирована в PinStatus
свойство.
Примечание
Событие изменения состояния контакта может быть сгенерировано в любое время во время сеанса последовательного порта.
Если RecordStatus
значением свойства является on
, и событие изменения состояния контакта происходит, файл записи записывает эту информацию:
Тип события как PinStatus
Контакт, который изменил его состояние и состояние контакта как любой on
или off
Время событие произошло с помощью дневного года месяца формата hour:minute:second:millisecond
Типы данных: function_handle
TimerFcn
— Функция обратного вызова, чтобы запуститься, когда событие таймера имеет местоФункция обратного вызова, чтобы запуститься, когда событие таймера имеет место в виде указателя на функцию. Событие таймера имеет место когда время, заданное TimerPeriod
передачи свойства. Время измеряется относительно того, когда объект последовательного порта соединяется с устройством с fopen
.
Примечание
Событие таймера может быть сгенерировано в любое время во время сеанса последовательного порта.
Если RecordStatus
значением свойства является on
, и событие таймера имеет место, файл записи записывает эту информацию:
Тип события как Timer
Время событие произошло с помощью дневного года месяца формата hour:minute:second:millisecond
Некоторые события таймера не могут быть обработаны, если вашу систему значительно замедляют или если TimerPeriod
значение слишком мало.
Типы данных: function_handle
TimerPeriod
— Промежуток времени между событиями таймераПромежуток времени между событиями таймера в виде номера в секундах. Это - время, которое должно передать, прежде чем функция обратного вызова задала для TimerFcn
называется. Время измеряется относительно того, когда объект последовательного порта соединяется с устройством с fopen
.
Некоторые события таймера не могут быть обработаны, если вашу систему значительно замедляют или если TimerPeriod
значение слишком мало.
Типы данных: double
DataTerminalReady
— Состояние контакта DTRСостояние DTR прикрепляет в виде on
или off
. Если DataTerminalReady
on
, контакт Data Terminal Ready (DTR) утверждается. Если DataTerminalReady
off
, контакт DTR не утверждается.
В нормальном использовании DTR и контакты Data Set Ready (DSR) работают совместно и используются, чтобы сигнализировать, соединяются ли устройства и приводятся в действие. Однако нет ничего в стандарте RS-232, который утверждает, что контакт DTR должен использоваться в любом особенном методе. Например, DTR и DSR могут использоваться для квитирования. Необходимо обратиться к документации устройства, чтобы определить ее определенное поведение контакта.
Можно возвратить значение контакта DSR с PinStatus
свойство.
Пример:
s.DataTerminalReady = 'off';
Типы данных: char |
string
FlowControl
— Метод управления потока данныхМетод управления потока данных в виде none
, hardware
, или software
. Если FlowControl
none
, управление потоком данных (квитирование) не используется. Если FlowControl
hardware
, аппаратное квитирование используется, чтобы управлять потоком данных. Если FlowControl
software
, программное квитирование используется, чтобы управлять потоком данных.
Оборудование, квитирующее обычно, использует Request To Send (RTS) и контакты Clear to Send (CTS), чтобы управлять потоком данных. Программное квитирование использует управляющие символы (Xon и Xoff), чтобы управлять потоком данных.
Можно возвратить значение контакта CTS с PinStatus
свойство. Можно задать значение контакта RTS с RequestToSend
свойство. Однако, если FlowControl
hardware
, и вы задаете значение для RequestToSend
, то значение не может соблюдаться.
Примечание
Несмотря на то, что вы можете смочь сконфигурировать свое устройство и для аппаратного квитирования и для программного квитирования одновременно, MATLAB не поддерживает это поведение.
Пример:
s.FlowControl = 'hardware';
Типы данных: char |
string
PinStatus
— Состояние CD, CTS, DSR и контактов RIЭто свойство доступно только для чтения.
Состояние CD, CTS, DSR, и контактов RI, возвратилось как структура. Это свойство только для чтения возвращает массив структур, который содержит поля CarrierDetect
, ClearToSend
, DataSetReady
и RingIndicator
. Эти поля указывают на состояние обнаружения несущей (CD), Clear to Send (CTS), Data Set Ready (DSR) и контактов Ring Indicator (RI), соответственно.
PinStatus
может быть on
или off
для любого из этих полей. Значение on
указывает, что связанный контакт утверждается. Значение off
указывает, что связанный контакт не утверждается. Событие изменения состояния контакта происходит, когда любой из этих контактов изменяет его состояние. Событие изменения состояния контакта выполняется, вызов назад функционируют заданные PinStatusFcn
.
В нормальном использовании работают совместно Data Terminal Ready (DTR) и контакты DSR, в то время как Request To Send (RTS) и контакты CTS работают совместно. Можно задать состояние контакта DTR с DataTerminalReady
свойство. Можно задать состояние контакта RTS с RequestToSend
свойство.
Пример:
s.PinStatus
Типы данных: struct
RequestToSend
— Состояние контакта RTSСостояние RTS прикрепляет в виде on
или off
. Если RequestToSend
on
, контакт Request To Send (RTS) утверждается. Если RequestToSend
off
, контакт RTS не утверждается.
В нормальном использовании RTS и контакты Clear to Send (CTS) работают совместно и используются в качестве стандартных контактов квитирования для передачи данных. В этом случае RTS и CTS автоматически управляемы DTE и DCE. Однако нет ничего в стандарте RS-232, который требует, чтобы контакт RTS использовался в любом особенном методе. Поэтому, если вы вручную конфигурируете RequestToSend
значение, это, вероятно, для нестандартных операций.
Если ваше устройство не использует аппаратное квитирование стандартным способом, и необходимо вручную сконфигурировать RequestToSend
, сконфигурируйте FlowControl
свойство к none
. В противном случае, RequestToSend
значение, которое вы задаете, не может соблюдаться. Обратитесь к своей документации устройства, чтобы определить ее определенное поведение контакта.
Можно возвратить значение контакта CTS с PinStatus
свойство.
Пример:
s.RequestToSend = 'off';
Типы данных: char |
string
RecordDetail
— Уровень детализации информации, сохраненной в файл записиУровень детализации информации, сохраненной в файл записи в виде compact
или verbose
. Если RecordDetail
compact
, количество значений, записанных в устройство, количество значений, считанных из устройства, типа данных значений и информации о событии, сохранено в файл записи. Если RecordDetail
verbose
, данные, записанные в устройство и данные, считанные из устройства, также сохранены в файл записи.
Сводные данные возможных значений:
| Количество значений, записанных в устройство, количество значений, считанных из устройства, типа данных значений и информации о событии, сохранено в файл записи. |
| Данные, записанные в устройство и данные, считанные из устройства, также сохранены в файл записи. |
Пример:
s.RecordDetail = 'verbose';
Типы данных: char |
string
RecordMode
— Метод для того, чтобы сохранить данные и информацию о событии в файлах записиМетод для того, чтобы сохранить данные и информацию о событии в файлах записи в виде overwrite
добавление
, или index
. Если RecordMode
overwrite
, файл записи перезаписывается, каждая запись времени инициируется. Если RecordMode
append
, данные добавлены к файлу записи, каждая запись времени инициируется. Если RecordMode
index
, различный файл записи создается, каждая запись времени инициируется, каждый с индексируемым именем файла.
Можно сконфигурировать RecordMode
только, когда объект не записывает. Вы отключаете запись с record
функция. Объект, который не записывает, имеет RecordStatus
значение свойства off
.
Вы задаете имя файла записи с RecordName
свойство. Индексируемое имя файла следует за предписанным рядом правил.
Сводные данные возможных значений:
| Файл записи перезаписывается. |
| Данные добавлены к существующему файлу записи. |
| Различный файл записи создается, каждый с индексируемым именем файла. |
Например, запишите последовательные данные с помощью свойств записи. Создайте объект последовательного порта и откройте связь.
s = serial('COM1'); fopen(s)
Задайте имя файла записи с RecordName
свойство, сконфигурируйте RecordMode
к index
, и инициируйте запись.
s.RecordName = 'MyRecord.txt'; s.RecordMode = 'index'; record(s)
Имя файла записи автоматически обновляется с индексируемым именем файла после того, как запись будет выключена.
record(s,'off') s.RecordName ans = MyRecord01.txt
Отключите s
от периферийного устройства удалите s
из памяти, и удаляют s
от рабочего пространства MATLAB.
fclose(s) delete(s) clear s
Пример:
s.RecordMode = 'index';
Типы данных: char |
string
RecordName
— Имя файла записиИмя файла записи в виде строки. Можно задать любое значение для RecordName
- включая путь к каталогу - если имя файла поддерживается вашей операционной системой.
Именем файла записи по умолчанию является record.txt
, который используется, если вы записываете файл данных и не задаете другое имя.
MATLAB поддерживает любое имя файла, поддержанное вашей операционной системой. Можно получить доступ к файлу с помощью type
функция. Например, если вы называете файл записи MyRecord.txt
, вводить этот файл в командной строке MATLAB, введите:
type('MyRecord.txt')
Можно задать, сохранены ли данные и информация о событии в один дисковый файл или в несколько дисковых файлов с RecordMode
свойство. Если RecordMode
index
, имя файла следует за предписанным рядом правил.
Можно сконфигурировать RecordName
только, когда объект не записывает. Вы отключаете запись с record
функция. Объект, который не записывает, имеет RecordStatus
значение свойства off
.
Пример:
s.RecordName = 'MonthlyDataFile_April';
Типы данных: char |
string
RecordStatus
— Состояние записи последовательных данных и информации о событииЭто свойство доступно только для чтения.
Состояние записи последовательных данных и информации о событии, возвращенной как on
или off
. Это свойство только для чтения указывает, ли включена запись или прочь, которым управляет record
функция. Если RecordStatus
off
, затем данные и информация о событии не сохранены в файл записи. Если RecordStatus
on
, затем данные и информация о событии сохранены в файл записи, заданный RecordName
.
Используйте record
функция, чтобы инициировать или завершить запись. RecordStatus
автоматически сконфигурирован, чтобы отразить состояние записи.
Пример:
s.RecordStatus
Типы данных: char |
string
serial
функция не рекомендуетсяНе рекомендуемый запуск в R2019b
serial
и его свойства объектов не рекомендуются. Использование serialport
и его свойства вместо этого.
В этом примере показано, как связать с устройством последовательного порта с помощью рекомендуемой функциональности.
Функциональность | Используйте это вместо этого |
---|---|
s = serial("COM1");
s.BaudRate = 115200;
fopen(s) |
s = serialport("COM1",115200); |
Смотрите Переход Ваш Код к Интерфейсу последовательного порта для получения дополнительной информации об использовании рекомендуемой функциональности.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.