fwrite (serial)

(Чтобы быть удаленным) двоичные данные Записи к устройству

Этот 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 syncA записан синхронно, и командная строка блокируется. Если mode asyncA записан асинхронно, и командная строка не блокируется. Если 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

Бинарное использование операции записи fwrite завершается когда:

  • Заданные данные записаны.

  • Время задано Timeout передачи свойства.

    Примечание

    Terminator свойство не используется с бинарными операциями записи.

Поддерживаемая точность

Следующая таблица показывает поддерживаемые значения для precision.

Тип данных

Точность

Интерпретация

Символ

uchar

8-битный символ без знака

schar

8-битный символ со знаком

char

8-битный символ без знака или со знаком

Целое число

int8

8-битное целое число

int16

16-битное целое число

int32

32-битное целое число

uint8

8-битное беззнаковое целое

uint16

16-битное беззнаковое целое

uint32

32-битное беззнаковое целое

short

16-битное целое число

int

32-битное целое число

long

32-или 64-битное целое число

ushort

16-битное беззнаковое целое

uint

32-битное беззнаковое целое

ulong

32-или 64-битное беззнаковое целое

С плавающей точкой

single

32-битная плавающая точка

float32

32-битная плавающая точка

float

32-битная плавающая точка

double

64-битная плавающая точка

float64

64-битная плавающая точка

Вопросы совместимости

развернуть все

Не рекомендуемый запуск в R2019b

Смотрите также

Функции

Представлено до R2006a