Считайте двоичные данные из инструмента
A = fread(obj)
A
= fread(obj,size)
A = fread(obj,size,'precision')
[A,count] = fread(...)
[A,count,msg] = fread(...)
[A,count,msg,datagramaddress] = fread(obj,...)
[A,count,msg,datagramaddress,datagramport]
= fread(obj,...)
| Объект интерфейса. |
| Количество считываемых значений. |
| Количество бит, считанных для каждого значения, и интерпретация бит как символов, целого числа или значений с плавающей точкой. |
| Двоичные данные, возвращенные с прибора. |
| Количество считанных значений. |
| Сообщение, указывающее, была ли операция чтения неудачной. |
| Адрес отправителя дейтаграммы. |
| Порт отправителя датаграммы. |
A = fread(obj) и A
= fread(obj,size) считайте двоичные данные из прибора, подключенного к obj, и возвращает данные в A. Максимальное количество значений для чтения определяется size. Если size не задан, максимальное количество считываемых значений определяется InputBufferSize объекта свойство. Допустимые опции для size являются:
| Читать самое большее |
| Считайте самое большее значения m на n, заполняя матрицу m на n в порядке столбца. |
size невозможно infи возвращается ошибка, если указанное количество значений не может быть сохранено в вход буфере. Вы задаете размер, в байтах, входе буфера с InputBufferSize свойство. Значение определяется как байт, умноженный на precision (см. ниже).
Если obj является объектом UDP и DatagramTerminateMode является off, а size значение учитывается. Если size меньше длины дейтаграммы, только size считываются значения. Если size больше длины дейтаграммы, выдается предупреждение о том, что полная дейтаграмма была считана раньше size были достигнуты значения.
A = fread(obj,size,' считывает двоичные данные с точностью, заданной precision')precision.
precision управляет количеством бит, считанных для каждого значения, и интерпретацией этих бит как целое число, с плавающей точкой или значения символов. Если precision не задан, uchar (используется 8-битный беззнаковый символ). По умолчанию числовые значения возвращаются в массивах двойной точности. Поддерживаемые значения для precision перечислены ниже в советах.
[A,count] = fread(...) возвращает количество значений, считанных в count.
[A,count,msg] = fread(...) возвращает предупреждающее сообщение в msg если операция чтения была неудачной.
[A,count,msg,datagramaddress] = fread(obj,...) возвращает адрес дейтаграммы в datagramaddress если obj является объектом UDP. Если считано более одной дейтаграммы, datagramaddress является.
[A,count,msg,datagramaddress,datagramport]
= fread(obj,...) возвращает порт дейтаграммы в datagramport если obj является объектом UDP. Если считано более одной дейтаграммы, datagramport является.
Прежде чем вы сможете считать данные с прибора, он должен быть подключен к obj с fopen функция. Связанный объект интерфейса имеет Status значение свойства open. Ошибка возвращается, если вы пытаетесь выполнить операцию чтения во время obj не соединяется с прибором.
Если msg не включен в качестве выходного аргумента и операция чтения не была успешной, затем в командную строку возвращается предупреждающее сообщение.
The ValuesReceived значение свойства увеличивается на количество считанных значений каждый раз fread выдается.
Примечание
Чтобы получить список опций, которые можно использовать для функции, нажмите клавишу Tab после ввода функции на MATLAB® командная строка. Список расширяется, и можно прокрутить, чтобы выбрать свойство или значение. Для получения информации об использовании этой расширенной функции заполнения клавишей Tab, смотрите Использование заполнения клавишей Tab для функций.
Операция чтения с fread блокирует доступ к Командному окну MATLAB до
Считалось указанное количество значений. Для объектов UDP, DatagramTerminateMode должен быть off.
Время, заданное как Timeout проходит свойство.
Датаграмма получена (для объектов UDP только когда DatagramTerminateMode является on).
Входной буфер заполнен.
Задана линия EOI (только приборы GPIB и VXI).
The EOSCharCode получен (только инструменты GPIB и VXI).
The EOSCharCode значение свойства распознается только тогда, когда EOSMode свойство настроено на read или read&write. Для примера, если EOSMode настроен на read и EOSCharCode настроен на LFзатем один из способов завершения операции считывания - когда принимается линией символ передачи.
Если EOSMode является none или write, тогда не задан терминатор строки для операций чтения. В этом случае fread завершает выполнение и возвращает управление команде, когда достигается другой критерий, такой как тайм-аут.
Поддерживаемые значения для precision перечислены ниже.
Тип данных | Точность | Интерпретация |
|---|---|---|
Символ |
| 8-битный беззнаковый символ |
| 8-битный символ со знаком | |
| 8-битный символ со знаком или без знака | |
Целое число |
| 8-битное целое число |
| 16-битное целое число | |
| 32-битное целое число | |
| 8-битное беззнаковое целое число | |
| 16-битное беззнаковое целое число | |
| 32-битное беззнаковое целое число | |
| 16-битное целое число | |
| 32-битное целое число | |
| 32- или 64-битное целое число | |
| 16-битное беззнаковое целое число | |
| 32-битное беззнаковое целое число | |
| 32- или 64-разрядное беззнаковое целое число | |
С плавающей точкой |
| 32-битная плавающая точка |
| 32-битная плавающая точка | |
| 32-битная плавающая точка | |
| 64-битная плавающая точка | |
| 64-битная плавающая точка |