Считайте двоичные данные из устройства
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
:
| Читайте в большинстве значений |
| Читайте в большинстве значений m на n, заполняющих матрицу m на 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
описаны ниже.
Тип данных | Точность | Интерпретация |
---|---|---|
Символ |
| 8-битный символ без знака |
| 8-битный символ со знаком | |
| 8-битный символ без знака или со знаком | |
Целое число |
| 8-битное целое число |
| 16-битное целое число | |
| 32-битное целое число | |
| 8-битное беззнаковое целое | |
| 16-битное беззнаковое целое | |
| 32-битное беззнаковое целое | |
| 16-битное целое число | |
| 32-битное целое число | |
| 32-или 64-битное целое число | |
| 16-битное беззнаковое целое | |
| 32-битное беззнаковое целое | |
| 32-или 64-битное беззнаковое целое | |
С плавающей точкой |
| 32-битная плавающая точка |
| 32-битная плавающая точка | |
| 32-битная плавающая точка | |
| 64-битная плавающая точка | |
| 64-битная плавающая точка |
BytesAvailable
| BytesAvailableFcn
| InputBufferSize
| Status
| Terminator
| ValuesReceived
| fgetl
| fgets
| fopen
| fscanf