(Подлежит удалению) Считывание двоичных данных с устройства
Это 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 являются:
| Читать максимум |
| Считывайте максимум значения 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 перечислены ниже.
Тип данных | Точность | Интерпретация |
|---|---|---|
Характер |
| 8-битный символ без знака |
| 8-битный символ со знаком | |
| 8-битный знак или знак без знака | |
Целое число |
| 8-битное целое число |
| 16-битное целое число | |
| 32-разрядное целое число | |
| 8-битное целое число без знака | |
| 16-битное целое число без знака | |
| 32-разрядное целое число без знака | |
| 16-битное целое число | |
| 32-разрядное целое число | |
| 32- или 64-разрядное целое число | |
| 16-битное целое число без знака | |
| 32-разрядное целое число без знака | |
| 32- или 64-разрядное целое число без знака | |
Плавающая точка |
| 32-разрядная точка с плавающей запятой |
| 32-разрядная точка с плавающей запятой | |
| 32-разрядная точка с плавающей запятой | |
| 64-разрядная точка с плавающей запятой | |
| 64-разрядная точка с плавающей запятой |