Запись двоичных данных в прибор
fwrite(obj,A)
fwrite(obj,A,'precision')
fwrite(obj,A,'mode')
fwrite(obj,A,'precision','mode')
| Объект интерфейса. |
| Двоичные данные, записанные в прибор. |
| Число битов, записанных для каждого значения, и интерпретация битов как символьных, целых или плавающих значений. |
| Указывает, должны ли данные записываться синхронно или асинхронно. |
fwrite(obj,A) записывает двоичные данные A к прибору, подключенному к obj.
fwrite(obj,A,' записывает двоичные данные с точностью, указанной precision').precision
управляет количеством битов, записанных для каждого значения, и интерпретацией этих битов как целых, плавающих или символьных значений. Если precision не указан, precisionuchar (8-битный символ без знака). Значения поддержки для перечислены в разделе Поддерживаемые уточнения.precision
fwrite(obj,A,' записывает двоичные данные с доступом к командной строке, указанным mode')mode. Если mode является sync, A записывается синхронно, и командная строка блокируется. Если mode является async, A записывается асинхронно, и командная строка не блокируется. Если mode не указан, операция записи синхронна.
fwrite(obj,A,' записывает двоичные данные с точностью, указанной precision','mode') и доступ к командной строке, указанный precision.mode
Перед записью данных в прибор его необходимо подключить к obj с fopen функция. Подключенный объект интерфейса имеет Status значение свойства open. При попытке выполнить операцию записи во время obj не подключен к прибору.
ValuesSent значение свойства увеличивается на количество значений, записываемых каждый раз fwrite выдается.
Ошибка возникает, если выходной буфер не может содержать все записываемые данные. Можно указать размер выходного буфера с помощью OutputBufferSize собственность.
fwrite возвращает сообщение об ошибке, если установить FlowControl свойство для hardware на последовательном объекте, и аппаратное соединение не обнаружено. Это происходит, если устройство не подключено или подключенное устройство не заявляет, что готово к приему данных. Проверьте состояние удаленного устройства и параметры управления потоком, чтобы узнать, вызывает ли аппаратное управление потоком ошибки в MATLAB ®.
Примечание
Если вы хотите проверить, готово ли устройство к приему данных, установите FlowControl кому none. После подключения к устройству проверьте PinStatus структура для ClearToSend. Если ClearToSend является off, имеется проблема на стороне удаленного устройства. Если ClearToSend является on, имеется аппаратное обеспечение FlowControl устройство, подготовленное для получения данных, и вы можете выполнить fwrite.
Примечание
Чтобы получить список опций, которые можно использовать для функции, нажмите клавишу Tab после ввода функции в командной строке MATLAB. Список расширяется, и можно выполнить прокрутку для выбора свойства или значения. Сведения об использовании этой расширенной функции завершения вкладки см. в разделе Использование функции завершения вкладки для функций.
По умолчанию данные записываются в прибор синхронно и командная строка блокируется до завершения операции. Асинхронную запись можно выполнить, настроив mode входной аргумент должен быть async. Для асинхронных операций записи:
BytesToOutput значение свойства непрерывно обновляется для отражения количества байтов в выходном буфере.
Функция обратного вызова, указанная для OutputEmptyFcn выполняется, когда выходной буфер пуст.
Можно определить, выполняется ли асинхронная операция записи с помощью TransferStatus собственность.
Операции синхронной и асинхронной записи более подробно описаны в разделе Операции синхронной и асинхронной записи.
Операция двоичной записи с использованием fwrite завершается, когда
Указанные данные записываются.
Время, указанное Timeout проходит свойство.
Примечание
Terminator и EOSCharCode свойства не используются для операций двоичной записи.
Поддерживаемые значения для precision перечислены ниже.
Тип данных | Точность | Интерпретация |
|---|---|---|
Характер |
| 8-битный символ без знака |
| 8-битный символ со знаком | |
| 8-битный знак или знак без знака | |
Целое число |
| 8-битное целое число |
| 16-битное целое число | |
| 32-разрядное целое число | |
| 8-битное целое число без знака | |
| 16-битное целое число без знака | |
| 32-разрядное целое число без знака | |
| 16-битное целое число | |
| 32-разрядное целое число | |
| 32- или 64-разрядное целое число | |
| 16-битное целое число без знака | |
| 32-разрядное целое число без знака | |
| 32- или 64-разрядное целое число без знака | |
Плавающая точка |
| 32-разрядная точка с плавающей запятой |
| 32-разрядная точка с плавающей запятой | |
| 32-разрядная точка с плавающей запятой | |
| 64-разрядная точка с плавающей запятой | |
| 64-разрядная точка с плавающей запятой |