Считайте двоичные данные из инструмента
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
не включен как выходной аргумент, и операция чтения не была успешна, то предупреждающее сообщение возвращено в командную строку.
Значение свойства ValuesReceived
увеличено количеством чтения значений, каждый раз, когда fread
выпущен.
Чтобы получить список опций, можно использовать на функции, нажать клавишу Tab после ввода функции на командной строке MATLAB®. Список расширяется, и можно прокрутить, чтобы выбрать свойство или значение. Для получения информации об использовании этой функции завершения вкладки "Дополнительно" смотрите Используя Заполнение клавишей Tab для Функций.
Операция чтения с fread
блокирует доступ к Окну Команды MATLAB до
Конкретное количество значений читается. Для объектов UDP DatagramTerminateMode
должен быть off
.
Прошло время, заданное как свойство Timeout.
Дейтаграмма получена (для объектов UDP только, когда DatagramTerminateMode
является on
).
Входной буфер заполнен.
Строка EOI утверждается (только GPIB и инструменты VXI).
EOSCharCode
получен (только GPIB и инструменты VXI).
Значение свойства 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-битная плавающая точка |
BytesAvailable
| InputBufferSize
| Status
| ValuesReceived
| fgetl
| fgets
| fopen
| fscanf
| instrhelp