(Не рекомендуемый), Создают объект последовательного порта
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')
'port'
— Имя последовательного портаИмя последовательного порта, заданное как вектор символов или строка. seriallist
функция предоставляет список доступных последовательных портов. Необходимо задать порт, чтобы создать объект последовательного порта.
Имя порта зависит от платформы, что последовательный порт работает. Этот список является примером последовательных конструкторов на других платформах:
Платформа | Конструктор последовательного порта |
---|---|
Linux® 64 | s = serial('/dev/ttyS0') |
macOS 64 | s = serial('/dev/tty.KeySerial1') |
Windows® 64 | s = 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'
— Уровень, на котором передаются битыУровень, на котором передаются биты, задал как разделенная запятой пара, состоящая из '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'
— Порядок байтов устройстваПорядок байтов устройства, заданного как разделенная запятой пара, состоящая из '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'
— Количество битов данных, чтобы передатьКоличество битов данных, чтобы передать, заданный как разделенная запятой пара, состоящая из 'DataBits'
и 5
, 6, 7
, или
8
, который является значением по умолчанию. Данные передаются как серия пять, шесть, семь, или восемь битов с младшим значащим битом, отправленным сначала. По крайней мере семь битов данных требуются, чтобы передавать символы ASCII. Восемь битов требуются, чтобы передавать двоичные данные. Пятибитные и шестибитные форматы данных используются в специализированном оборудовании связи.
И компьютер и периферийное устройство должны быть сконфигурированы, чтобы передать то же количество битов данных.
В дополнение к битам данных формат последовательных данных состоит из старт-бита, одного или двух стоп-битов, и возможно бита четности. Вы задаете количество стоп-битов с StopBits
свойство и тип проверки четности с Parity
свойство.
Можно также установить DataBits
свойство после создания последовательного объекта с помощью этого синтаксиса:
s.DataBits = 7;
Пример: s = serial('COM1','DataBits',7);
Типы данных: double
'Parity'
— Тип проверки четностиТип проверки четности, заданной как разделенная запятой пара, состоящая из 'Parity'
и none
, odd
, even
, mark
, или space
.
| Значение по умолчанию. Никакая проверка четности. Проверка четности не выполняется, и бит четности не передается. |
| Проверка отрицательной четности. Количество битов метки (1 с) в данных считается, и бит четности утверждается или не утверждается получить нечетное число битов метки. |
| Проверка четности. Количество битов метки в данных считается, и бит четности утверждается или не утверждается получить четное число битов метки. |
| Отметьте проверку четности. Бит четности утверждается. |
| Проверка четности пробела. Бит четности не утверждается. |
Проверка четности может обнаружить ошибки одного бита только. Ошибка в силе на два бита заставляет данные иметь на вид допустимую четность, когда на самом деле это неправильно.
В дополнение к биту четности формат последовательных данных состоит из старт-бита, от пяти до восьми битов данных, и одного или двух стоп-битов. Вы задаете количество битов данных с DataBits
свойство и количество стоп-битов с StopBits
свойство.
Можно также установить Parity
свойство после создания последовательного объекта с помощью этого синтаксиса:
s.Parity = 'even';
Пример: s = serial('COM1','Parity','even');
Типы данных: char |
string
'StopBits'
— Количество битов раньше указывало на конец байтаКоличество битов раньше указывало на конец байта, заданного как разделенная запятой пара, состоящая из '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'
и строка. Можно сконфигурировать 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 = serial('COM1','Terminator','CR');
Типы данных: char |
string
Обратитесь к Описанию свойства для списка свойств объекта последовательного порта, которые можно использовать с serial
.
Прежде чем можно будет связаться с устройством, оно должно быть соединено с obj
с
функция. Связанный объект последовательного порта имеет fopen
Status
значение свойства open
. Ошибка возвращена, если вы делаете попытку операции чтения или операции записи, в то время как объект не соединяется с устройством. Можно соединить только один объект последовательного порта с данным последовательным портом.
Не рекомендуемый запуск в R2019b
serial
и его свойства объектов не рекомендуются. Используйте serialport
и его свойства вместо этого.
В этом примере показано, как связать с устройством последовательного порта с помощью рекомендуемой функциональности.
Функциональность | Используйте это вместо этого |
---|---|
s = serial("COM1");
s.BaudRate = 115200;
fopen(s) |
s = serialport("COM1",115200); |
Смотрите Переход Ваш Код к Интерфейсу последовательного порта для получения дополнительной информации об использовании рекомендуемой функциональности.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.