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