(Будет удален) Доступ к последовательным свойствам
serial
и свойства его объекта не рекомендованы. Использовать serialport
и его свойства вместо этого. См. Вопросы совместимости.
Последовательные свойства используются для настройки связи с помощью serial
Объект и настройка поведения чтения и записи.
Некоторые свойства могут быть заданы во время создания объекта с помощью serial
функция. Смотрите serial
страница с описанием для информации об этих свойствах, которые включают Port
, BaudRate
, ByteOrder
, DataBits
, Parity
, 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
- Имя последовательного портаЭто свойство доступно только для чтения.
Имя последовательного порта, заданное как вектор символов или строка. The 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
. Type
автоматически определяется после создания объекта последовательного порта с serial
функция. The Type
значение всегда serial
.
Пример: s.Type
Типы данных: char
| string
UserData
- Данные, которые необходимо связать с объектом последовательного портаДанные, которые необходимо связать с объектом последовательного порта, заданные как массив MATLAB. Сконфигурируйте UserData
для хранения данных, которые необходимо связать с объектом последовательного порта. Объект не использует эти данные напрямую, но вы можете получить к нему доступ с помощью функции get или записи через точку.
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 сначала хранится в нижнем адресе памяти. Используя little-endian формат, 52 запоминается сначала в нижнем адресе памяти.
Порядок байтов littleEndian
является значением по умолчанию и используется в операциях чтения и записи, если вы не задаете свойство. Вы должны задать свойство только, чтобы изменить порядок байтов на bigEndian
.
Можно также задать ByteOrder
свойство после создания последовательного объекта с использованием этого синтаксиса:
s.ByteOrder = 'bigEndian';
Примечание
Сконфигурируйте ByteOrder
к соответствующему значению для вашего устройства перед выполнением операции чтения или записи. Для получения информации о порядке хранения байтов см. документацию устройства.
Пример: s.ByteOrder = 'bigEndian';
Типы данных: char
| string
BaudRate
- Скорость, с которой передаются битыСкорость, с которой передаются биты, заданная как double. Вы конфигурируете скорость передачи бит в секунду. Переданные биты включают старт-бит, биты данных, бит четности (если используется) и стоп-бит. Однако хранятся только биты данных.
Скорость передачи данных в бодах является скоростью, с которой информация передается в канале связи. В контексте последовательного порта 9600 бод означает, что последовательный порт способен передавать максимум 9600 бит в секунду. Если информационный модуль является одним бодом (одним битом), скорость передачи битов и скорость передачи битов идентичны. Если один бод задан как 10 битов (для примера восемь битов данных плюс два бита кадрирования), битовая скорость все еще равна 9600, но скорость бода равна 9600/10 или 960. Вы всегда конфигурируете BaudRate
как биты в секунду.
Примечание
Компьютер и периферийное устройство должны быть сконфигурированы с одинаковой скоростью передачи данных, прежде чем вы сможете успешно считать или записать данные.
Стандартные скорости передачи данных включают 110, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200, 128000 и 256000 биты в секунду.
Можно также задать 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% от обычного времени, используемого для передачи одного бита.
Примечание
Компьютер и периферийное устройство должны быть сконфигурированы для передачи одинакового количества стоп-бит.
Сводные данные возможных значений:
| По умолчанию. Один стоп-бит передается, чтобы указать конец байта. |
| Стоп-бит передается в течение 150% от обычного времени, используемого для передачи одного бита. |
| Два стоп-бит передаются для указания конца байта. |
В сложение к стоп-битам последовательный формат данных состоит из старта-бита, между пятью и восемью битами данных и, возможно, бита четности. Вы задаете количество бит данных с DataBits
свойство и тип проверки четности с помощью Parity
свойство.
Можно также задать StopBits
свойство после создания последовательного объекта с использованием этого синтаксиса:
s.StopBits = 2;
Пример: s.StopBits = 2;
Типы данных: double
Terminator
- Символ терминатораСимвол терминатора, заданный как строка или массив ячеек. Можно конфигурировать Terminator
к целому значению в диапазоне от 0 до 127, которое представляет ASCII код для символа, или можно сконфигурировать Terminator
символа ASCII. Например, чтобы сконфигурировать Terminator
для возврата каретки задайте значение, которое будет CR
или 13
. Как сконфигурировать Terminator
для linefeed задайте значение, которое будет LF
или 10
. Можно также задать Terminator
на CR/LF
или LF/CR
. Если Terminator
является CR/LF
, терминатор строки является кареткой возврата за которой следует подача линии. Если Terminator 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
- Количество байтов, доступных во входном буфереЭто свойство доступно только для чтения.
Количество байтов, доступных в буфере входа, заданное как double. Это свойство только для чтения указывает количество байтов, доступных для чтения из входа буфера. Значение свойства постоянно обновляется, когда входной буфер заполнен и установлено на 0
после fopen
функция выдается.
Можно использовать BytesAvailable
только при асинхронном считывании данных. Это связано с тем, что при синхронном считывании данных управление возвращается в MATLAB® командная строка только после того, как входной буфер пуст. Поэтому BytesAvailable
значение всегда 0.
The BytesAvailable
значение может варьироваться от нуля до размера входа буфера. Используйте InputBufferSize
свойство для задания размера входного буфера. Используйте ValuesReceived
свойство для возврата общего количества считанных значений.
Пример:
s.BytesAvailable
Типы данных: double
InputBufferSize
- Размер входного буфера в байтахРазмер входного буфера в байтах, заданный как double. Вы конфигурируете 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
- Время ожидания завершения операции чтения или записиВремя ожидания завершения операции чтения или записи, заданное как double. Вы конфигурируете Timeout
это максимальное время (в секундах) ожидания завершения операции чтения или записи. Значение по умолчанию 10
секунд используется, если не задано другое значение. Тайм-ауты округляются вверх до полных секунд.
Если происходит тайм-аут, операция чтения или записи прекращается. Кроме того, если тайм-аут происходит во время асинхронной операции чтения или записи, то:
Событие ошибки генерируется.
Функция обратного вызова, заданная для ErrorFcn
выполняется.
Пример:
s.Timeout = 30;
Типы данных: double
TransferStatus
- Состояние операции асинхронного чтения или записиidle
(по умолчанию) | read
| write
| read&write
Это свойство доступно только для чтения.
Состояние операции асинхронного чтения или записи, заданное как idle
, read
, write
, или read&write
. Это свойство только для чтения указывает, выполняется ли асинхронная операция чтения или записи. Если TransferStatus
является idle
асинхронные операции чтения или записи не выполняются. Если это read
операция асинхронного чтения выполняется в прогресс. Если это write
операция асинхронной записи выполняется в прогресс. Если TransferStatus
является read&write
, и асинхронное чтение, и асинхронная операция записи находятся в прогрессе.
Вы можете записать данные асинхронно, используя fprintf
или fwrite
функций. Вы можете считать данные асинхронно, используя readasync
function, или путем конфигурирования ReadAsyncMode
свойство к continuous
. В то время как readasync
выполняет, TransferStatus
может указать, что данные считываются, даже если данные не заполняют буфер входа. Если ReadAsyncMode
является continuous
, TransferStatus
указывает, что данные считываются только тогда, когда данные заполняют вход буфер.
Можно выполнить асинхронное чтение и операцию асинхронной записи одновременно, поскольку последовательные порты имеют отдельные контакты чтения и записи.
Результирующие значения:
| Асинхронные операции не выполняются. |
| Операция асинхронного чтения выполняется в прогресс. |
| Операция асинхронной записи выполняется в прогресс. |
| Операции асинхронного чтения и записи выполняются в прогресс. |
Пример:
s.TransferStatus
Типы данных: char
| string
ValuesReceived
- Общее количество значений, считанных с устройстваЭто свойство доступно только для чтения.
Общее количество значений, считанных с устройства, заданное как double. Это свойство только для чтения, и значение обновляется после каждой успешной операции чтения и устанавливается на 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
- Количество байтов в выходном буфереЭто свойство доступно только для чтения.
Количество байт в буфере выхода, заданное как double. Это свойство только для чтения указывает количество байтов в буфере выходов, ожидающих записи на устройство. Значение свойства постоянно обновляется, когда выходной буфер заполняется и опустошается, и устанавливается на 0
после fopen
функция выдается.
Можно использовать BytesToOutput
только при асинхронной записи данных. Это происходит потому, что при синхронной записи данных управление возвращается в командную строку MATLAB только после того, как выходной буфер пуст. Поэтому BytesToOutput
значение всегда 0
.
Используйте ValuesSent
свойство для возврата общего количества значений, записанных на устройство.
Примечание
Если вы пытаетесь записать больше данных, чем может поместиться в выход буфер, возвращается ошибка и BytesToOutput
является 0
. Задайте размер выходного буфера с OutputBufferSize
свойство.
Пример:
s.BytesToOutput
Типы данных: double
OutputBufferSize
- Размер выходного буфера в байтахРазмер выходного буфера в байтах, заданный как double. Вы конфигурируете OutputBufferSize
как общее количество байт, которые могут храниться в буфере выхода во время операции записи.
Можно конфигурировать OutputBufferSize
только при отключении объекта последовательного порта от устройства. Вы можете сконфигурировать его перед вызовом fopen
функция. Вы отсоединяете объект с fclose
функция. Отключенный объект имеет Status
значение свойства closed
.
Ошибка возникает, если выходной буфер не может содержать все записываемые данные. Вы записываете текстовые данные с fprintf
функция. Вы записываете двоичные данные с fwrite
функция.
Пример:
s.OutputBufferSize = 256;
Типы данных: double
ValuesSent
- Общее количество значений, записанных в устройствоЭто свойство доступно только для чтения.
Общее количество значений, записанных на устройство, заданное как double. Это свойство только для чтения, и значение обновляется после каждой успешной операции записи и устанавливается на 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
Время наступления события с использованием формата day-month-year hour: minute: second: millisecond
Типы данных: function_handle
BytesAvailableFcn
- Функция обратного вызова, которая запускается, когда происходит событие доступности байтовФункция обратного вызова для запуска при возникновении события, доступного в байтах, заданная как указатель на функцию. Событие, доступное в байтах, происходит, когда количество байтов, заданное BytesAvailableFcnCount
свойство доступно в буфере входа или после чтения терминатора строки, как определяется BytesAvailableFcnMode
свойство.
Примечание
Событие, доступное в байтах, может быть сгенерировано только для операций асинхронного чтения.
Если на RecordStatus
значение свойства on
и происходит событие, доступное в байтах, файл записи записывает эту информацию:
Тип события следующим BytesAvailable
Время наступления события с использованием формата day-month-year hour: minute: second: millisecond
Примечание
Вы не можете использовать значения ASCII, больше 127 символов. Функция ограничена 127 двоичными символами.
Пример: s.BytesAvailableFcn = @instrcallback;
Типы данных: function_handle
BytesAvailableFcnCount
- Количество байтов, которые должны быть доступны во входном буфереКоличество байтов, которые должны быть доступны в буфере входа для генерации события, доступного в байтах, заданное в виде числа.
Используйте BytesAvailableFcnMode
свойство, чтобы указать, происходит ли событие, доступное в байтах, после того, как доступно определенное количество байтов или после чтения терминатора строки.
Событие, доступное в байтах, выполняет функцию обратного вызова, заданную для BytesAvailableFcn
свойство.
Можно конфигурировать BytesAvailableFcnCount
только когда объект отключен от устройства. Вы отсоединяете объект с fclose
функция. Отключенный объект имеет Status
значение свойства closed
.
Пример: s.BytesAvailableFcnCount = 40;
Типы данных: double
BytesAvailableFcnMode
- Тип доступной функции bytes'terminator'
(по умолчанию) | 'byte'
Тип функции bytes-available для генерации события bytes-available, заданный как 'terminator'
или 'byte'
. Если BytesAvailableFcnMode
является 'terminator'
Событие, доступное в байтах, происходит, когда терминатор строки, заданный как Terminator
достигается свойство. Если BytesAvailableFcnMode
является 'byte'
Событие, доступное в байтах, происходит, когда количество байтов, заданное BytesAvailableFcnCount
свойство доступно.
Событие, доступное в байтах, выполняет функцию обратного вызова, заданную для BytesAvailableFcn
свойство.
Можно конфигурировать BytesAvailableFcnMode
только когда объект отключен от устройства. Вы отсоединяете объект с fclose
функция. Отключенный объект имеет Status
значение свойства closed
.
Пример: s.BytesAvailableFcnMode = 'byte';
Типы данных: char
| string
ErrorFcn
- Функция обратного вызова, которая запускается, когда происходит событие ошибкиФункция обратного вызова для запуска при возникновении события ошибки, заданная как указатель на функцию.
Примечание
Событие ошибки генерируется только для асинхронных операций чтения и записи.
Событие ошибки генерируется, когда происходит тайм-аут. Тайм-аут происходит, если операция чтения или записи не завершена успешно в течение времени, заданного Timeout
свойство. Событие ошибки не генерируется для ошибок строения, таких как установка недопустимого значения свойства.
Если на RecordStatus
значение свойства on
и происходит событие ошибки, файл записи записывает эту информацию:
Тип события следующим Error
Сообщение об ошибке
Время наступления события с использованием формата day-month-year hour: minute: second: millisecond
Типы данных: function_handle
OutputEmptyFcn
- Функция обратного вызова, которая запускается, когда происходит событие вывода пустого сигналаФункция обратного вызова для выполнения, когда происходит событие с пустым выводом, заданная как указатель на функцию. Выходное-пустое событие происходит, когда последний байт отправляется из выхода буфера в устройство.
Примечание
Выходное пустое событие может быть сгенерировано только для операций асинхронной записи.
Если на RecordStatus
значение свойства on
, и происходит событие вывода-пустого, файл записи записывает эту информацию:
Тип события следующим OutputEmpty
Время наступления события с использованием формата day-month-year hour: minute: second: millisecond
Типы данных: function_handle
PinStatusFcn
- Функция обратного вызова, которая запускается, когда происходит событие состояния контактаФункция обратного вызова для запуска при возникновении события состояния контакта, заданная как указатель на функцию. Событие состояния контакта происходит, когда контакт обнаружения несущей (CD), Clear to Send (CTS), Сигналу готовности данных (DSR) или Ring Indicator (RI) изменяет состояние. Контакт последовательного порта изменяет состояние, когда он утвержден или не утвержден. Информация о состоянии этих контактов записывается в PinStatus
свойство.
Примечание
Событие состояния контакта может быть сгенерировано в любое время во время сеанса последовательного порта.
Если на RecordStatus
значение свойства on
и происходит событие состояния контакта, файл записи записывает эту информацию:
Тип события следующим PinStatus
Контакт, который изменил свое состояние, и контакт состояние как on
или off
Время наступления события с использованием формата day-month-year hour: minute: second: millisecond
Типы данных: function_handle
TimerFcn
- Функция обратного вызова, которая запускается, когда происходит событие таймераФункция обратного вызова для запуска при возникновении события таймера, заданная как указатель на функцию. Событие таймера происходит, когда время, заданное как TimerPeriod
проходит свойство. Время измеряется относительно того, когда объект последовательного порта соединяется с устройством с fopen
.
Примечание
Событие таймера может быть сгенерировано в любое время во время сеанса последовательного порта.
Если на RecordStatus
значение свойства on
и происходит событие таймера, файл записи записывает эту информацию:
Тип события следующим Timer
Время наступления события с использованием формата day-month-year hour: minute: second: millisecond
Некоторые события таймера могут не обрабатываться, если ваша система значительно замедлена или если TimerPeriod
слишком маленькое значение.
Типы данных: function_handle
TimerPeriod
- Период времени между событиями таймераПериод времени между событиями таймера, заданный как число в секундах. Это время должно пройти перед функцией обратного вызова, заданной для TimerFcn
вызывается. Время измеряется относительно того, когда объект последовательного порта соединяется с устройством с fopen
.
Некоторые события таймера могут не обрабатываться, если ваша система значительно замедлена или если TimerPeriod
слишком маленькое значение.
Типы данных: double
DataTerminalReady
- Состояние контакта DTRСостояние контакта DTR, заданное как on
или off
. Если DataTerminalReady
является on
устанавливается контакт сигнала готовности терминала (DTR). Если DataTerminalReady
является off
, контакт DTR не утвержден.
При нормальном использовании контакты DTR и Сигнала готовности данных (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), Сигнал готовности данных (DSR) и Ring Indicator (RI), соответственно.
PinStatus
можно on
или off
для любого из этих полей. Значение on
указывает, что задан связанный контакт. Значение off
указывает, что связанный контакт не установлен. Событие состояния контакта происходит, когда любой из этих контактов изменяет свое состояние. Событие состояния контакта выполняет функцию обратного вызова, заданную PinStatusFcn
.
При нормальном использовании контакты Сигнала готовности терминала (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
, append
, или 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.