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