(Не рекомендуемый) двоичные данные Записи устройству
Этот 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-битная плавающая точка |