Считайте двоичные данные из инструмента
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-битная плавающая точка |