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