(Будет удален) Запись двоичных данных на устройство
Этот serial
функция object будет удалена в следующем релизе. Использовать serialport
вместо этого функции объекта. См. Вопросы совместимости.
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
свойство.
Если вы задаете FlowControl
(Instrument Control Toolbox) свойство для hardware
для последовательного объекта и оборудования соединения не обнаружено, fwrite
возвращает сообщение об ошибке. Это происходит, если устройство не подключено или подключенное устройство не утверждает, что готово к приему данных. Проверьте состояние удаленного устройства и настройки управления потоком, чтобы увидеть, вызывает ли аппаратное управление потоком ошибок в MATLAB®.
Примечание
Если вы хотите проверить, уверяет ли устройство, что оно готово к получению данных, установите FlowControl
(Instrument Control Toolbox) для none
. После подключения к устройству проверьте PinStatus
структура для ClearToSend
. Если ClearToSend
является off
, существует проблема на стороне удаленного устройства. Если ClearToSend
является on
, есть оборудование FlowControl
(Instrument Control Toolbox) устройство подготовлено для приема данных, и вы можете выполнить fwrite
.
По умолчанию данные записываются на устройство синхронно, и командная строка блокируется до завершения операции. Вы можете выполнить асинхронную запись, сконфигурировав mode
входной параметр, который будет async
. Для асинхронных записей:
The BytesToOutput
значение свойства постоянно обновляется, чтобы отразить количество байтов в выходе буфере.
Функция обратного вызова, заданная для OutputEmptyFcn
свойство выполняется, когда выходной буфер пуст.
Можно определить, выполняется ли асинхронная операция записи с TransferStatus
свойство.
Двоичная операция записи с использованием fwrite
завершается, когда:
Указанные данные записываются.
Время, заданное как Timeout
проходит свойство.
Примечание
The Terminator
свойство не используется с двоичными операциями записи.
В следующей таблице показаны поддерживаемые значения для precision
.
Тип данных | Точность | Интерпретация |
---|---|---|
Символ |
| 8-битный беззнаковый символ |
| 8-битный символ со знаком | |
| 8-битный символ со знаком или без знака | |
Целое число |
| 8-битное целое число |
| 16-битное целое число | |
| 32-битное целое число | |
| 8-битное беззнаковое целое число | |
| 16-битное беззнаковое целое число | |
| 32-битное беззнаковое целое число | |
| 16-битное целое число | |
| 32-битное целое число | |
| 32- или 64-битное целое число | |
| 16-битное беззнаковое целое число | |
| 32-битное беззнаковое целое число | |
| 32- или 64-разрядное беззнаковое целое число | |
С плавающей точкой |
| 32-битная плавающая точка |
| 32-битная плавающая точка | |
| 32-битная плавающая точка | |
| 64-битная плавающая точка | |
| 64-битная плавающая точка |