Запись двоичных данных в инструмент
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 не соединяется с прибором.
The ValuesSent значение свойства увеличивается на количество значений, записываемых каждый раз fwrite выдается.
Ошибка возникает, если выходной буфер не может содержать все записываемые данные. Размер выходного буфера можно задать с помощью OutputBufferSize свойство.
fwrite вернёт сообщение об ошибке, если вы установите FlowControl свойство к hardware для последовательного объекта, и оборудования соединение не обнаружено. Это происходит, если устройство не подключено или подключенное устройство не утверждает, что готово к приему данных. Проверьте состояние удаленного устройства и настройки управления потоком, чтобы увидеть, вызывает ли аппаратное управление потоком ошибок в MATLAB®.
Примечание
Если вы хотите проверить, уверяет ли устройство, что оно готово к получению данных, установите FlowControl на none. После подключения к устройству проверьте PinStatus структура для ClearToSend. Если ClearToSend является off, существует проблема на стороне удаленного устройства. Если ClearToSend является on, есть оборудование FlowControl устройство подготовлено для приема данных, и вы можете выполнить fwrite.
Примечание
Чтобы получить список опций, которые можно использовать для функции, нажмите клавишу Tab после ввода функции в командной строке MATLAB. Список расширяется, и можно прокрутить, чтобы выбрать свойство или значение. Для получения информации об использовании этой расширенной функции заполнения клавишей Tab, смотрите Использование заполнения клавишей Tab для функций.
По умолчанию данные записываются в инструмент синхронно, и командная строка блокируется до завершения операции. Вы можете выполнить асинхронную запись, сконфигурировав mode входной параметр, который будет async. Для асинхронных записей,
The BytesToOutput значение свойства постоянно обновляется, чтобы отразить количество байтов в выходе буфере.
Функция обратного вызова, заданная для OutputEmptyFcn свойство выполняется, когда выходной буфер пуст.
Можно определить, выполняется ли асинхронная операция записи с TransferStatus свойство.
Операции синхронной и асинхронной записи обсуждаются более подробно в операциях синхронной и асинхронной записи.
Двоичная операция записи с использованием fwrite завершается, когда
Указанные данные записываются.
Время, заданное как Timeout проходит свойство.
Примечание
The 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-битная плавающая точка |