exponenta event banner

fread (серийный)

(Подлежит удалению) Считывание двоичных данных с устройства

Это serial функция объекта будет удалена в следующей версии. Использовать serialport вместо этого объектные функции. См. раздел Вопросы совместимости.

Синтаксис

A = fread(obj)
A = fread(obj,size,'precision')
[A,count] = fread(...)
[A,count,msg] = fread(...)

Описание

A = fread(obj) и A = fread(obj,size) считывать двоичные данные с устройства, подключенного к объекту последовательного порта, objи возвращает данные в A. Максимальное количество считываемых значений определяется size. Если size не указано, максимальное количество считываемых значений определяется объектом InputBufferSize собственность. Допустимые параметры для size являются:

n

Читать максимум n значения в вектор столбца.

[m,n]

Считывайте максимум значения m-by-n, заполняющие матрицу m-by-n в порядке столбцов.

size не может быть inf, и возвращается ошибка, если указанное количество значений не может быть сохранено во входном буфере. Вы указываете размер входного буфера в байтах с помощью InputBufferSize собственность. Значение определяется как байт, умноженный на precision (см. ниже).

A = fread(obj,size,'precision') считывает двоичные данные с точностью, указанной precision.

precision управляет количеством битов, считанных для каждого значения, и интерпретацией этих битов как целых, плавающих или символьных значений. Если precision не указан, uchar (8-битный символ без знака). По умолчанию числовые значения возвращаются в массивах с двойной точностью. Поддерживаемые значения для precision перечислены ниже в разделе Советы.

[A,count] = fread(...) возвращает число значений, считанных с count.

[A,count,msg] = fread(...) возвращает предупреждающее сообщение msg если операция чтения не удалась.

Совет

Перед считыванием данных с устройства его необходимо подключить к obj с fopen функция. Подключенный объект последовательного порта имеет Status значение свойства open. При попытке выполнить операцию чтения во время obj не подключен к устройству.

Если msg не включен в качестве выходного аргумента, и операция чтения не была выполнена, после чего в командную строку возвращается предупреждающее сообщение.

ValuesReceived значение свойства увеличивается на количество считанных значений каждый раз fread выдается.

Правила выполнения операции двоичного чтения

Операция чтения с fread блокирует доступ к командной строке MATLAB ® до:

  • Считывается указанное количество значений.

  • Время, указанное Timeout проходит свойство.

    Примечание

    Terminator не используется для операций двоичного чтения.

Поддерживаемые уточнения

Поддерживаемые значения для precision перечислены ниже.

Тип данных

Точность

Интерпретация

Характер

uchar

8-битный символ без знака

schar

8-битный символ со знаком

char

8-битный знак или знак без знака

Целое число

int8

8-битное целое число

int16

16-битное целое число

int32

32-разрядное целое число

uint8

8-битное целое число без знака

uint16

16-битное целое число без знака

uint32

32-разрядное целое число без знака

short

16-битное целое число

int

32-разрядное целое число

long

32- или 64-разрядное целое число

ushort

16-битное целое число без знака

uint

32-разрядное целое число без знака

ulong

32- или 64-разрядное целое число без знака

Плавающая точка

single

32-разрядная точка с плавающей запятой

float32

32-разрядная точка с плавающей запятой

float

32-разрядная точка с плавающей запятой

double

64-разрядная точка с плавающей запятой

float64

64-разрядная точка с плавающей запятой

Вопросы совместимости

развернуть все

Не рекомендуется начинать с R2019b

См. также

Функции

Представлен до R2006a