Создайте объект последовательного порта
s = serial('port')
s = serial('port', Name,Value)
s = serial(
создает объект последовательного порта 'port'
)s
, сопоставленный с последовательным портом, заданным 'port'
. Если 'port'
не существует, или если он используется, вы не можете соединить объект последовательного порта с устройством.
s = serial(
создает объект последовательного порта с заданными именами свойства и значениями свойств. Если недопустимое имя свойства или значение свойства заданы, ошибка возвращена, и объект последовательного порта не создается.'port'
, Name,Value
)
Этот пример показывает, как создать объект последовательного порта.
Найдите доступные последовательные порты.
Используйте функцию seriallist, чтобы найти ваши доступные последовательные порты.
seriallist
ans = 1×2 string array "COM1" "COM3"
Создайте объект последовательного порта и присвойте порт.
Этот пример создает объект последовательного порта s и сопоставляет его с последовательным портом COM1. Необходимо задать порт в качестве первого аргумента, чтобы создать объект последовательного порта.
s = serial('COM1');
Создайте объект последовательного порта и задайте свойства.
Этот пример создает объект последовательного порта s2, сопоставленный с последовательным портом COM3, и устанавливает свойства. Можно опционально установить коммуникационные свойства путем определения пар "имя-значение" во время создания объекта после аргумента port. Этот пример устанавливает скорость в бодах на 4 800 и терминатор строки к CR. Вы видите эти значения в объектном выводе.
s2 = serial('COM3','BaudRate',4800,'Terminator','CR')
Serial Port Object : Serial-COM3 Communication Settings Port: COM3 BaudRate: 4800 Terminator: 'CR' Communication State Status: closed RecordStatus: off Read/Write State TransferStatus: idle BytesAvailable: 0 ValuesReceived: 0 ValuesSent: 0
Порт
Имя последовательного портаИмя последовательного порта, заданное как вектор символов или строка. Функция 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
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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'
и 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
к целочисленному значению в пределах от от 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
. Ошибка возвращена, если вы делаете попытку операции чтения или операции записи, в то время как объект не соединяется с устройством. Можно соединить только один объект последовательного порта с данным последовательным портом.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.