Считайте двоичные данные из устройства
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