Запись двоичных данных в инструмент
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
не задан, precision
uchar
(используется 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-битная плавающая точка |