Задайте, является ли асинхронная операция чтения непрерывной или ручной
Можно сконфигурировать 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, последовательный ВИЗОЙ |
Только для чтения | Никогда |
Тип данных | Символьный вектор |
| Постоянно запрашивайте инструмент, чтобы определить, доступны ли данные, чтобы быть считанными. |
| Вручную считайте данные из инструмента с помощью |