serial

(Не рекомендуемый), Создают объект последовательного порта

serial не рекомендуется. Используйте serialport вместо этого. См. Вопросы совместимости.

Описание

пример

s = serial('port') создает объект последовательного порта s сопоставленный с последовательным портом, заданным 'port'. Если 'port' не существует, или если это используется, вы не можете соединить объект последовательного порта с устройством.

пример

s = serial('port',Name,Value) создает объект последовательного порта с заданными именами свойства и значениями свойств. Если недопустимое имя свойства или значение свойства заданы, ошибка возвращена, и объект последовательного порта не создается.

Примеры

свернуть все

В этом примере показано, как создать объект последовательного порта.

Найдите доступные последовательные порты.

Используйте функцию seriallist, чтобы найти ваши доступные последовательные порты.

seriallist

Создайте объект последовательного порта и присвойте порт.

Этот пример создает объект последовательного порта s и сопоставляет его с последовательным портом COM1. Необходимо задать порт в качестве первого аргумента, чтобы создать объект последовательного порта.

s = serial('COM1');

Создайте объект последовательного порта и задайте свойства.

Этот пример создает объект последовательного порта s2, сопоставленный с последовательным портом COM3, и устанавливает свойства. Можно опционально установить коммуникационные свойства путем определения пар "имя-значение" во время создания объекта после аргумента port. Этот пример устанавливает скорость в бодах на 4 800 и терминатор строки к CR. Вы видите эти значения в объектном выходе.

s2 = serial('COM3','BaudRate',4800,'Terminator','CR')

Входные параметры

свернуть все

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

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

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

Пример: s = serial('COM1')

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

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: s = serial('COM2','BaudRate',1200,'DataBits',7);

Для списка свойств объекта последовательного порта, которые можно использовать с serial, обратитесь к Описанию свойства.

Примечание

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

Уровень, на котором передаются биты, задал как разделенная запятой пара, состоящая из 'BaudRate' и двойное. Вы конфигурируете скорость в бодах как биты в секунду. Переданные биты включают старт-бит, биты данных, бит четности (если используется), и стоп-биты. Однако только биты данных хранятся.

Скорость в бодах является уровнем, на котором информация передается в канале связи. В контексте последовательного порта 9 600 бодов означают, что последовательный порт способен к передаче максимума 9 600 бит в секунду. Если информационный модуль составляет один бод (один бит), битрейт и скорость в бодах идентичны. Если один бод дан как 10 битов, (например, восемь битов данных плюс два предельных бита), битрейт все еще 9600, но скорость в бодах является 9600/10, или 960. Вы всегда конфигурируете BaudRate как биты в секунду.

Примечание

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

Стандартные скорости в бодах включают 110, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, 115200, 128000, и 256 000 бит в секунду.

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

s.BaudRate = 4800;

Пример: s = serial('COM1','BaudRate',4800);

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

Порядок байтов устройства, заданного как разделенная запятой пара, состоящая из 'ByteOrder' и littleEndian или bigEndian. Если ByteOrder littleEndian, устройство хранит первый байт в первом адресе памяти. Если ByteOrder bigEndian, устройство хранит последний байт в первом адресе памяти.

Например, предположите, что шестнадцатеричное значение 4F52 должно храниться в памяти устройства. Поскольку это значение состоит из двух байтов, 4F и 52, две ячейки памяти используются. Используя формат с обратным порядком байтов, 4F хранится сначала в более низком адресе ЗУ. Используя формат с прямым порядком байтов, 52 хранится сначала в более низком адресе ЗУ.

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

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

s.ByteOrder = 'bigEndian';

Примечание

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

Пример: s = serial('COM1','ByteOrder','bigEndian');

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

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

Примечание

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

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

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

s.DataBits = 7;

Пример: s = serial('COM1','DataBits',7);

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

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

{none}

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

odd

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

even

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

mark

Отметьте проверку четности. Бит четности утверждается.

space

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

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

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

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

s.Parity = 'even';

Пример: s = serial('COM1','Parity','even');

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

Количество битов раньше указывало на конец байта, заданного как разделенная запятой пара, состоящая из 'StopBits' и 1, 1.5, или 2. Если StopBits 1, один стоп-бит используется, чтобы указать на конец передачи данных. Если StopBits 2, два стоп-бита используются, чтобы указать на конец передачи данных. Если StopBits 1.5, стоп-бит передается в течение 150% нормального времени, используемого, чтобы передать один бит.

Примечание

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

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

{1}

Значение по умолчанию. Один стоп-бит передается, чтобы указать на конец байта.

1.5

Стоп-бит передается в течение 150% нормального времени, используемого, чтобы передать один бит.

2

Два стоп-бита передаются, чтобы указать на конец байта.

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

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

s.StopBits = 2;

Пример: s = serial('COM1','StopBits',2);

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

Символ Терминатора, заданный как разделенная запятой пара, состоящая из 'Terminator' и строка. Можно сконфигурировать Terminator к целочисленному значению в пределах от от 0 до 127, который представляет код ASCII для символа, или можно сконфигурировать Terminator к символу ASCII. Например, чтобы сконфигурировать Terminator к возврату каретки задайте значение, чтобы быть CR или 13. Сконфигурировать Terminator к переводу строки задайте значение, чтобы быть LF или 10. Можно также установить Terminator к CR/LF или LF/CR. Если Terminator CR/LF, терминатор строки является возвратом каретки, сопровождаемым переводом строки. Если Терминатором является LF/CR, терминатор строки является переводом строки, сопровождаемым возвратом каретки. Обратите внимание на то, что нет никаких целочисленных эквивалентов для этих двух значений.

Кроме того, можно установить Terminator к 1 2 массиву ячеек. Первый элемент ячейки является терминатором строки чтения, и второй элемент массива ячеек является терминатором строки записи.

При выполнении операции записи с помощью fprintf функция, все случаи \n заменяются Terminator значение свойства. Обратите внимание на то, что %s\n формат по умолчанию для fprintf. Операция чтения с fgetlfgets, или fscanf завершается когда Terminator значение читается. Терминатор строки проигнорирован для бинарных операций.

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

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

s.Terminator = 'CR';

Пример: s = serial('COM1','Terminator','CR');

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

Советы

Обратитесь к Описанию свойства для списка свойств объекта последовательного порта, которые можно использовать с serial.

Прежде чем можно будет связаться с устройством, оно должно быть соединено с obj с fopen функция. Связанный объект последовательного порта имеет Status значение свойства open. Ошибка возвращена, если вы делаете попытку операции чтения или операции записи, в то время как объект не соединяется с устройством. Можно соединить только один объект последовательного порта с данным последовательным портом.

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

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

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

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