Задайте, является ли асинхронная операция чтения непрерывной или ручной
Можно сконфигурировать ReadAsyncMode
, чтобы быть continuous
или manual
. Если ReadAsyncMode
является continuous
, объект постоянно запрашивает инструмент, чтобы определить, доступны ли данные, чтобы быть считанными. Если данные доступны, они автоматически читаются и хранятся во входном буфере. Если выпущено, функция readasync
проигнорирована.
Если ReadAsyncMode
будет manual
, объект не запросит инструмент, чтобы определить, доступны ли данные, чтобы быть считанными. Вместо этого необходимо вручную выпустить функцию readasync
, чтобы выполнить асинхронную операцию чтения. Поскольку проверки readasync
на терминатор строки, эта функция может быть медленной. Чтобы увеличить скорость, необходимо сконфигурировать ReadAsyncMode
к continuous
.
Если инструмент будет готов передать данные, то это сделает так независимо от значения ReadAsyncMode
. Поэтому, если ReadAsyncMode
является manual
, и операция чтения не происходит, то данные могут быть потеряны. Чтобы гарантировать, что все передаваемые данные хранятся во входном буфере, необходимо сконфигурировать ReadAsyncMode
к continuous
.
Можно определить объем данных, доступный во входном буфере со свойством BytesAvailable
. Или для значения ReadAsyncMode
, можно принести данные в рабочую область MATLAB® с одной из синхронных функций чтения, таких как fscanf
, fgetl
, fgets
или для fread
.
Использование | Последовательный порт, TCPIP, UDP, последовательный ВИЗОЙ |
Только для чтения | Никогда |
Тип данных | Символьный вектор |
| Постоянно запрашивайте инструмент, чтобы определить, доступны ли данные, чтобы быть считанными. |
| Вручную считайте данные из инструмента с помощью функции |