exponenta event banner

Последовательные свойства

(Подлежит удалению) Доступ к последовательным свойствам

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

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

Имя последовательного порта, указанное как символьный вектор или строка. 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 функция. 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, используются две ячейки памяти. При использовании формата big-endian 4F сначала сохраняется в нижнем адресе хранилища. Используя формат little-endian, 52 сохраняется первым в нижнем адресе памяти.

Порядок байтов littleEndian является значением по умолчанию и используется в операциях чтения и записи, если свойство не указано. Необходимо указать свойство только для изменения порядка байтов на bigEndian.

Можно также установить ByteOrder после создания последовательного объекта с использованием следующего синтаксиса:

s.ByteOrder = 'bigEndian';

Примечание

Настроить ByteOrder до соответствующего значения для устройства перед выполнением операции чтения или записи. Сведения о порядке хранения байтов см. в документации к устройству.

Пример: s.ByteOrder = 'bigEndian';

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

Скорость передачи битов, заданная как двойная. Скорость передачи в бодах настраивается как биты в секунду. Переданные биты включают в себя начальный бит, биты данных, бит четности (если используется) и стоповые биты. Однако сохраняются только биты данных.

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

Свойства чтения и записи

развернуть все

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

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

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

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

Пример: s.BytesAvailable

Типы данных: 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

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

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

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

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

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

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

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

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

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

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

Подведите итог возможных значений:

{idle}

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

read

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

write

Выполняется асинхронная операция записи.

read&write

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

Пример: s.TransferStatus

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

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

Общее число значений, считанных с устройства, указанное как двойное. Это свойство доступно только для чтения, и значение обновляется после каждой успешной операции чтения и устанавливается равным 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

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

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

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

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

Примечание

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

Пример: s.BytesToOutput

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

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

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

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

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

Типы данных: 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

  • Время возникновения события с использованием формата день-месяц-год час: минута: секунда: миллисекунда

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

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

Примечание

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

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

  • Тип события как BytesAvailable

  • Время возникновения события с использованием формата день-месяц-год час: минута: секунда: миллисекунда

Примечание

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

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

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

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

Используйте BytesAvailableFcnMode свойство, указывающее, происходит ли событие bytes-available после определенного количества байтов или после считывания признака конца.

Событие, доступное в байтах, выполняет функцию обратного вызова, указанную для 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

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

  • Время возникновения события с использованием формата день-месяц-год час: минута: секунда: миллисекунда

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

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

Примечание

Событие output-empty может быть создано только для асинхронных операций записи.

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

  • Тип события как OutputEmpty

  • Время возникновения события с использованием формата день-месяц-год час: минута: секунда: миллисекунда

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

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

Примечание

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

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

  • Тип события как PinStatus

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

  • Время возникновения события с использованием формата день-месяц-год час: минута: секунда: миллисекунда

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

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

Примечание

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

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

  • Тип события как Timer

  • Время возникновения события с использованием формата день-месяц-год час: минута: секунда: миллисекунда

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

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

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

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

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

Свойства управляющего контакта

развернуть все

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

При обычном использовании контакты DTR и Data Set Ready (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), сброса для отправки (CTS), готовности набора данных (DSR) и индикатора кольцевой сети (RI) соответственно.

PinStatus может быть on или off для любого из этих полей. Значение on указывает, что соответствующий контакт установлен. Значение off указывает, что связанный контакт не установлен. Событие состояния контакта возникает, когда любой из этих контактов изменяет свое состояние. Событие состояния контакта выполняет функцию обратного вызова, указанную в PinStatusFcn.

При обычном использовании контакты Data Terminal Ready (DTR) и DSR работают вместе, в то время как контакты Request to Send (RTS) и CTS работают вместе. Состояние контакта DTR можно указать с помощью DataTerminalReady собственность. Состояние контакта RTS можно указать с помощью RequestToSend собственность.

Пример: s.PinStatus

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

Состояние контакта RTS, указанное как on или off. Если RequestToSend является on, устанавливается контакт запроса на отправку (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