(Будет удален) Запись двоичных данных на устройство
Этот 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 с функция. Связанный объект последовательного порта имеет fopenStatus значение свойства 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-битная плавающая точка |