serial Properties

(Будет удален) Доступ к последовательным свойствам

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. Это имя задается путем объединения слова «Serial» с последовательным портом, указанным в serial функция. Однако можно изменить значение Name в любое время.

Последовательный порт задается функцией Port свойство. Если вы измените это значение свойства, то Name автоматически обновляется, чтобы отразить это изменение.

Пример: s.Name = 'MySerialDevice';

Типы данных: char | string

Это свойство доступно только для чтения.

Имя последовательного порта, заданное как вектор символов или строка. The seriallist функция предоставляет список доступных последовательных портов. Необходимо указать порт, чтобы создать объект последовательного порта.

Имя порта зависит от платформы, на которой работает последовательный порт. Этот список является примером последовательных конструкторов на других платформах:

ПлатформаКонструктор последовательного порта
Linux® 64s = serial('/dev/ttyS0')
macOS 64s = serial('/dev/tty.KeySerial1')
Windows® 64s = serial('COM1')

Пример: s.Port

Типы данных: char | string

Метка для связи с объектом последовательного порта, заданная как вектор символов или строка. Tag однозначно определяет объект последовательного порта. Tag особенно полезно при построении программ, которые в противном случае должны были бы задать объект последовательного порта как глобальную переменную или передать объект как аргумент между стандартными программами коллбэка.

Можно вернуть объект последовательного порта с instrfind функция путем определения Tag значение свойства.

Пример: s.Tag = 'MySerialObj';

Типы данных: char | string

Это свойство доступно только для чтения.

Тип объекта, заданный как serial. Type автоматически определяется после создания объекта последовательного порта с serial функция. The Type значение всегда serial.

Пример: s.Type

Типы данных: char | string

Данные, которые необходимо связать с объектом последовательного порта, заданные как массив MATLAB. Сконфигурируйте UserData для хранения данных, которые необходимо связать с объектом последовательного порта. Объект не использует эти данные напрямую, но вы можете получить к нему доступ с помощью функции get или записи через точку.

Управление доступом к объекту последовательного порта, заданное как 'on' или 'off'. Он предоставляет разработчикам приложений способ предотвратить доступ конечных пользователей к объектам последовательного порта, созданным их приложениями. Когда объект ObjectVisibility для свойства задано значение 'off', instrfind не возвращает или не удаляет этот объект.

Объекты, которые не видны, все еще действительны. Если у вас есть доступ к объекту (для примера, из создающего его файла), можно задать и получить его свойства и передать его в любую функцию, которая работает с объектами последовательного порта.

Пример: s.ObjectVisibility = 'off';

Типы данных: char | string

Свойства связи

расширить все

Порядок байтов устройства, заданный как 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

Скорость, с которой передаются биты, заданная как 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

Количество бит данных для передачи, заданное как 5, 6, 7, или 8. Данные передаются как последовательность из пяти, шести, семи или восьми битов с наименее значимым битом, отправленным первым. Для передачи символов ASCII требуется не менее семи биты данных. Восемь биты требуются для передачи двоичных данных. Для специализированного оборудования связи используются пятибитный и шестибитный форматы данных.

Примечание

Компьютер и периферийное устройство должны быть сконфигурированы для передачи одинакового количества бит данных.

В сложение к битам данных последовательный формат данных состоит из старта-бита, одного или двух стоп-бит и, возможно, бита четности. Вы задаете количество стоп-бит с StopBits свойство и тип проверки четности с помощью Parity свойство.

Можно также задать DataBits свойство после создания последовательного объекта с использованием этого синтаксиса:

s.DataBits = 7;

Пример: s.DataBits = 7;

Типы данных: double

Тип проверки четности, заданный как none, odd, even, mark, или space.

'none'

По умолчанию. Проверка четности отсутствует. Проверка четности не выполняется, и бит четности не передается.

'odd'

Нечетная проверка четности. Количество битов (1с) метки в данных подсчитывается, и бит четности утверждается или не утверждается, чтобы получить нечетное количество битов метки.

'even'

Даже проверка четности. Количество битов метки в данных подсчитывается, и бит четности утверждается или не утверждается, чтобы получить четное количество битов метки.

'mark'

Отметьте проверку четности. Задан бит четности.

'space'

Проверка четности пробел. Бит четности не утвержден.

Проверка четности может обнаружить ошибки только одного бита. Ошибка в двух битах может привести к тому, что данные будут иметь допустимую четность, когда на самом деле это неправильно.

В сложение к биту четности последовательный формат данных состоит из старта-бита, между пятью и восемью битами данных и один или два стоп-бит. Вы задаете количество бит данных с DataBits свойство и количество стоп-бит с StopBits свойство.

Можно также задать Parity свойство после создания последовательного объекта с использованием этого синтаксиса:

s.Parity = 'even';

Пример: s.Parity = 'even';

Типы данных: char | string

Количество бит, используемых для указания конца байта, заданное как 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 к целому значению в диапазоне от 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

Чтение и запись свойств

расширить все

Это свойство доступно только для чтения.

Количество байтов, доступных в буфере входа, заданное как double. Это свойство только для чтения указывает количество байтов, доступных для чтения из входа буфера. Значение свойства постоянно обновляется, когда входной буфер заполнен и установлено на 0 после fopen функция выдается.

Можно использовать BytesAvailable только при асинхронном считывании данных. Это связано с тем, что при синхронном считывании данных управление возвращается в MATLAB® командная строка только после того, как входной буфер пуст. Поэтому BytesAvailable значение всегда 0.

The BytesAvailable значение может варьироваться от нуля до размера входа буфера. Используйте InputBufferSize свойство для задания размера входного буфера. Используйте ValuesReceived свойство для возврата общего количества считанных значений.

Пример: s.BytesAvailable

Типы данных: double

Размер входного буфера в байтах, заданный как double. Вы конфигурируете InputBufferSize как общее количество байт, которые могут храниться в буфере входа во время операции чтения.

Операция чтения прекращается, если объем данных, сохраненных в вход буфере, равен InputBufferSize значение. Вы можете считать текстовые данные с fgetl, fget, или fscanf функций. Вы можете считать двоичные данные с fread функция.

Можно конфигурировать InputBufferSize только при отключении объекта последовательного порта от устройства. Вы можете сконфигурировать его перед вызовом fopen функция. Вы отсоединяете объект с fclose функция. Отключенный объект имеет Status значение свойства closed.

Если вы конфигурируете InputBufferSize в то время как данные находятся в буфере входа, эти данные очищаются.

Пример: s.InputBufferSize = 768;

Типы данных: double

Укажите, является ли операция асинхронного чтения непрерывной или ручной, задается как '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

Время ожидания завершения операции чтения или записи, заданное как double. Вы конфигурируете Timeout это максимальное время (в секундах) ожидания завершения операции чтения или записи. Значение по умолчанию 10 секунд используется, если не задано другое значение. Тайм-ауты округляются вверх до полных секунд.

Если происходит тайм-аут, операция чтения или записи прекращается. Кроме того, если тайм-аут происходит во время асинхронной операции чтения или записи, то:

  • Событие ошибки генерируется.

  • Функция обратного вызова, заданная для ErrorFcn выполняется.

Пример: s.Timeout = 30;

Типы данных: double

Это свойство доступно только для чтения.

Состояние операции асинхронного чтения или записи, заданное как idle, read, write, или read&write. Это свойство только для чтения указывает, выполняется ли асинхронная операция чтения или записи. Если TransferStatus является idleасинхронные операции чтения или записи не выполняются. Если это readоперация асинхронного чтения выполняется в прогресс. Если это writeоперация асинхронной записи выполняется в прогресс. Если TransferStatus является read&write, и асинхронное чтение, и асинхронная операция записи находятся в прогрессе.

Вы можете записать данные асинхронно, используя fprintf или fwrite функций. Вы можете считать данные асинхронно, используя readasync function, или путем конфигурирования ReadAsyncMode свойство к continuous. В то время как readasync выполняет, TransferStatus может указать, что данные считываются, даже если данные не заполняют буфер входа. Если ReadAsyncMode является continuous, TransferStatus указывает, что данные считываются только тогда, когда данные заполняют вход буфер.

Можно выполнить асинхронное чтение и операцию асинхронной записи одновременно, поскольку последовательные порты имеют отдельные контакты чтения и записи.

Результирующие значения:

{idle}

Асинхронные операции не выполняются.

read

Операция асинхронного чтения выполняется в прогресс.

write

Операция асинхронной записи выполняется в прогресс.

read&write

Операции асинхронного чтения и записи выполняются в прогресс.

Пример: s.TransferStatus

Типы данных: char | string

Это свойство доступно только для чтения.

Общее количество значений, считанных с устройства, заданное как 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

Это свойство доступно только для чтения.

Количество байт в буфере выхода, заданное как double. Это свойство только для чтения указывает количество байтов в буфере выходов, ожидающих записи на устройство. Значение свойства постоянно обновляется, когда выходной буфер заполняется и опустошается, и устанавливается на 0 после fopen функция выдается.

Можно использовать BytesToOutput только при асинхронной записи данных. Это происходит потому, что при синхронной записи данных управление возвращается в командную строку MATLAB только после того, как выходной буфер пуст. Поэтому BytesToOutput значение всегда 0.

Используйте ValuesSent свойство для возврата общего количества значений, записанных на устройство.

Примечание

Если вы пытаетесь записать больше данных, чем может поместиться в выход буфер, возвращается ошибка и BytesToOutput является 0. Задайте размер выходного буфера с OutputBufferSize свойство.

Пример: s.BytesToOutput

Типы данных: double

Размер выходного буфера в байтах, заданный как double. Вы конфигурируете OutputBufferSize как общее количество байт, которые могут храниться в буфере выхода во время операции записи.

Можно конфигурировать OutputBufferSize только при отключении объекта последовательного порта от устройства. Вы можете сконфигурировать его перед вызовом fopen функция. Вы отсоединяете объект с fclose функция. Отключенный объект имеет Status значение свойства closed.

Ошибка возникает, если выходной буфер не может содержать все записываемые данные. Вы записываете текстовые данные с fprintf функция. Вы записываете двоичные данные с fwrite функция.

Пример: s.OutputBufferSize = 256;

Типы данных: double

Это свойство доступно только для чтения.

Общее количество значений, записанных на устройство, заданное как 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

Это свойство доступно только для чтения.

Состояние подключения устройства последовательного порта, возвращаемое следующим closed или open. Это свойство только для чтения указывает, подключен ли объект последовательного порта к устройству. Если Status является closedобъект последовательного порта не соединяется с устройством. Если Status является openобъект последовательного порта соединяется с устройством.

Прежде чем вы сможете записать или считать данные, необходимо подключить объект последовательного порта к устройству с fopen функция. Используйте fclose функция для отключения объекта последовательного порта от устройства.

Пример: s.Status

Типы данных: char | string

Свойства коллбэка

расширить все

Функция обратного вызова, которая запускается, когда происходит событие прерывания-прерывания, заданная как указатель на функцию. Событие прерывания генерируется последовательным портом, когда принятые данные находятся в отключенном (пробельном) состоянии, больше, чем время передачи для одного байта.

Примечание

Событие прерывания-прерывания может быть сгенерировано в любое время во время сеанса последовательного порта.

Если на RecordStatus значение свойства onи происходит событие прерывания, файл записи записывает эту информацию:

  • Тип события следующим BreakInterrupt

  • Время наступления события с использованием формата day-month-year hour: minute: second: millisecond

Типы данных: function_handle

Функция обратного вызова для запуска при возникновении события, доступного в байтах, заданная как указатель на функцию. Событие, доступное в байтах, происходит, когда количество байтов, заданное BytesAvailableFcnCount свойство доступно в буфере входа или после чтения терминатора строки, как определяется BytesAvailableFcnMode свойство.

Примечание

Событие, доступное в байтах, может быть сгенерировано только для операций асинхронного чтения.

Если на RecordStatus значение свойства onи происходит событие, доступное в байтах, файл записи записывает эту информацию:

  • Тип события следующим BytesAvailable

  • Время наступления события с использованием формата day-month-year hour: minute: second: millisecond

Примечание

Вы не можете использовать значения ASCII, больше 127 символов. Функция ограничена 127 двоичными символами.

Пример: s.BytesAvailableFcn = @instrcallback;

Типы данных: function_handle

Количество байтов, которые должны быть доступны в буфере входа для генерации события, доступного в байтах, заданное в виде числа.

Используйте BytesAvailableFcnMode свойство, чтобы указать, происходит ли событие, доступное в байтах, после того, как доступно определенное количество байтов или после чтения терминатора строки.

Событие, доступное в байтах, выполняет функцию обратного вызова, заданную для BytesAvailableFcn свойство.

Можно конфигурировать BytesAvailableFcnCount только когда объект отключен от устройства. Вы отсоединяете объект с fclose функция. Отключенный объект имеет Status значение свойства closed.

Пример: s.BytesAvailableFcnCount = 40;

Типы данных: double

Тип функции bytes-available для генерации события bytes-available, заданный как 'terminator' или 'byte'. Если BytesAvailableFcnMode является 'terminator'Событие, доступное в байтах, происходит, когда терминатор строки, заданный как Terminator достигается свойство. Если BytesAvailableFcnMode является 'byte'Событие, доступное в байтах, происходит, когда количество байтов, заданное BytesAvailableFcnCount свойство доступно.

Событие, доступное в байтах, выполняет функцию обратного вызова, заданную для BytesAvailableFcn свойство.

Можно конфигурировать BytesAvailableFcnMode только когда объект отключен от устройства. Вы отсоединяете объект с fclose функция. Отключенный объект имеет Status значение свойства closed.

Пример: s.BytesAvailableFcnMode = 'byte';

Типы данных: char | string

Функция обратного вызова для запуска при возникновении события ошибки, заданная как указатель на функцию.

Примечание

Событие ошибки генерируется только для асинхронных операций чтения и записи.

Событие ошибки генерируется, когда происходит тайм-аут. Тайм-аут происходит, если операция чтения или записи не завершена успешно в течение времени, заданного Timeout свойство. Событие ошибки не генерируется для ошибок строения, таких как установка недопустимого значения свойства.

Если на RecordStatus значение свойства onи происходит событие ошибки, файл записи записывает эту информацию:

  • Тип события следующим Error

  • Сообщение об ошибке

  • Время наступления события с использованием формата day-month-year hour: minute: second: millisecond

Типы данных: function_handle

Функция обратного вызова для выполнения, когда происходит событие с пустым выводом, заданная как указатель на функцию. Выходное-пустое событие происходит, когда последний байт отправляется из выхода буфера в устройство.

Примечание

Выходное пустое событие может быть сгенерировано только для операций асинхронной записи.

Если на RecordStatus значение свойства on, и происходит событие вывода-пустого, файл записи записывает эту информацию:

  • Тип события следующим OutputEmpty

  • Время наступления события с использованием формата day-month-year hour: minute: second: millisecond

Типы данных: function_handle

Функция обратного вызова для запуска при возникновении события состояния контакта, заданная как указатель на функцию. Событие состояния контакта происходит, когда контакт обнаружения несущей (CD), Clear to Send (CTS), Сигналу готовности данных (DSR) или Ring Indicator (RI) изменяет состояние. Контакт последовательного порта изменяет состояние, когда он утвержден или не утвержден. Информация о состоянии этих контактов записывается в PinStatus свойство.

Примечание

Событие состояния контакта может быть сгенерировано в любое время во время сеанса последовательного порта.

Если на RecordStatus значение свойства onи происходит событие состояния контакта, файл записи записывает эту информацию:

  • Тип события следующим PinStatus

  • Контакт, который изменил свое состояние, и контакт состояние как on или off

  • Время наступления события с использованием формата day-month-year hour: minute: second: millisecond

Типы данных: function_handle

Функция обратного вызова для запуска при возникновении события таймера, заданная как указатель на функцию. Событие таймера происходит, когда время, заданное как TimerPeriod проходит свойство. Время измеряется относительно того, когда объект последовательного порта соединяется с устройством с fopen.

Примечание

Событие таймера может быть сгенерировано в любое время во время сеанса последовательного порта.

Если на RecordStatus значение свойства onи происходит событие таймера, файл записи записывает эту информацию:

  • Тип события следующим Timer

  • Время наступления события с использованием формата day-month-year hour: minute: second: millisecond

Некоторые события таймера могут не обрабатываться, если ваша система значительно замедлена или если TimerPeriod слишком маленькое значение.

Типы данных: function_handle

Период времени между событиями таймера, заданный как число в секундах. Это время должно пройти перед функцией обратного вызова, заданной для TimerFcn вызывается. Время измеряется относительно того, когда объект последовательного порта соединяется с устройством с fopen.

Некоторые события таймера могут не обрабатываться, если ваша система значительно замедлена или если TimerPeriod слишком маленькое значение.

Типы данных: double

Контакты управления

расширить все

Состояние контакта DTR, заданное как on или off. Если DataTerminalReady является onустанавливается контакт сигнала готовности терминала (DTR). Если DataTerminalReady является off, контакт DTR не утвержден.

При нормальном использовании контакты DTR и Сигнала готовности данных (DSR) работают вместе и используются, чтобы сигнализировать, подключены ли устройства и питание. Однако в RS-232 стандарте нет ничего, что указывало бы на то, что контакт DTR должен использоваться каким-либо конкретным образом. Для примера для квитирования могут использоваться DTR и DSR. Для определения конкретного поведения контакта следует обратиться к документации устройства.

Вы можете вернуть значение контакта DSR с PinStatus свойство.

Пример: s.DataTerminalReady = 'off';

Типы данных: char | string

Метод управления потоком данных, заданный как 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

Это свойство доступно только для чтения.

Состояние 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

Состояние контакта 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

Свойства записи

расширить все

Уровень детализации информации, сохраненной в файле записи, задается как compact или verbose. Если RecordDetail является compactколичество значений, записанных в устройство, количество значений, считанных с устройства, тип данных значений и информация о событиях сохраняются в файле записи. Если RecordDetail является verboseданные, записанные на устройство, и данные, считанные с устройства, также сохраняются в файле записи.

Сводные данные возможных значений:

{compact}

Количество значений, записанных на устройство, количество значений, считанных с устройства, тип данных значений и информация о событии сохраняются в файле записи.

verbose

Данные, записанные на устройство, и данные, считанные с устройства, также сохраняются в файле записи.

Пример: s.RecordDetail = 'verbose';

Типы данных: char | string

Метод сохранения данных и информации о событиях в файлах записей, заданный как overwrite, append, или index. Если RecordMode является overwriteфайл записи перезаписывается каждый раз, когда инициируется запись. Если RecordMode является appendданные добавляются к файлу записи каждый раз, когда инициируется запись. Если RecordMode является indexКаждый раз, когда инициируется запись, создается другой файл записи с индексированным именем файла.

Можно конфигурировать RecordMode только, когда объект не записывается. Вы прекращаете запись с record функция. Объект, который не записывается, имеет RecordStatus значение свойства off.

Вы задаете имя файла записи с RecordName свойство. Индексированное имя файла соответствует предписанному набору правил.

Сводные данные возможных значений:

{overwrite}

Файл записи перезаписан.

append

Данные добавляются к существующему файлу записи.

index

Создается другой файл записей с индексированным именем файла.

Например, запись последовательных данных с помощью свойств записи. Создайте объект последовательного порта и откройте соединение.

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 - включая путь к директории - при условии, что имя файла поддерживается операционной системой.

Имя файла записи по умолчанию record.txt, который используется, если вы записываете файл данных и не задаете другое имя.

MATLAB поддерживает любое имя файла, поддерживаемое операционной системой. Вы можете получить доступ к файлу с помощью type функция. Для примера, если вы назовете файл записи MyRecord.txt, чтобы ввести этот файл в командной строке MATLAB, введите:

type('MyRecord.txt')

Можно указать, сохраняются ли данные и данные о событиях в одном файле диска или в нескольких файлах диска с RecordMode свойство. Если RecordMode является indexимя файла соответствует предписанному набору правил.

Можно конфигурировать RecordName только, когда объект не записывается. Вы прекращаете запись с record функция. Объект, который не записывается, имеет RecordStatus значение свойства off.

Пример: s.RecordName = 'MonthlyDataFile_April';

Типы данных: char | string

Это свойство доступно только для чтения.

Состояние записи последовательных данных и информации о событиях, возвращаемое следующим on или off. Это свойство только для чтения указывает, включена или отключена запись, которая управляется record функция. Если RecordStatus является offзатем данные и информация о событиях не сохраняются в файле записи. Если RecordStatus является on, затем данные и информация о событии сохраняются в файле записи, заданном RecordName.

Используйте record функция для инициирования или завершения записи. RecordStatus автоматически конфигурируется таким образом, чтобы отражать состояние записи.

Пример: s.RecordStatus

Типы данных: char | string

Вопросы совместимости

расширить все

Не рекомендуемый запуск в R2019b

Представлено до R2006a