exponenta event banner

fprintf (серийный)

(Подлежит удалению) Запись текста на устройство

Это serial функция объекта будет удалена в следующей версии. Использовать serialport вместо этого объектные функции. См. раздел Вопросы совместимости.

Синтаксис

fprintf(obj,'cmd')
fprintf(obj,'format','cmd')
fprintf(obj,'cmd','mode')
fprintf(obj,'format','cmd','mode')

Описание

fprintf(obj,'cmd') записывает строку cmd к устройству, подключенному к объекту последовательного порта, obj. Формат по умолчанию: %s\n. Операция записи является синхронной и блокирует командную строку до завершения выполнения. cmd может быть командой SCPI, которую вы предоставляете, или командой, которую вы предоставляете в соответствии с инструкциями поставщика вашего устройства.

fprintf(obj,'format','cmd') записывает строку в формате, указанном format.

fprintf(obj,'cmd','mode') записывает строку с доступом командной строки, указанной mode. mode указывает, если cmd записывается синхронно или асинхронно.

fprintf(obj,'format','cmd','mode') записывает строку в указанном формате. format - спецификация преобразования языка Си.

Требуется открытое соединение из объекта последовательного порта, obj, в устройство перед выполнением операций чтения или записи.

Чтобы открыть подключение к устройству, используйте fopen функция. Когда obj имеет открытое соединение с устройством, имеет Status значение свойства open.

Входные аргументы

format

Спецификация преобразования ANSI C включает эти символы преобразования.

Спецификатор

Описание

%c

Одиночный символ

%d или %i

Десятичное обозначение (с подписью)

%e

Экспоненциальная нотация (с использованием нижнего регистра e как в 3.1415e+00)

%E

Экспоненциальная нотация (с использованием верхнего регистра E как в 3.1415E+00)

%f

Нотация с фиксированной точкой

%g

Более компактный %e или %f. Незначительные нули не печатаются.

%G

То же, что и %g, но с использованием верхнего регистра E

%o

Восьмеричное обозначение (без знака)

%s

Строка символов

%u

Десятичная нотация (без знака)

%x

Шестнадцатеричная нотация (с использованием строчных букв af)

%X

Шестнадцатеричная нотация (с использованием прописных букв AF)

cmd

Указывает строку cmd, которая может быть командой SCPI, которую вы предоставляете, или командой, которую вы предоставляете в соответствии с инструкциями поставщика вашего устройства.

mode

Указывает, должна ли строка cmd записывается синхронно или асинхронно:

  • sync: cmd записывается синхронно, и командная строка блокируется.

  • async: cmd записывается асинхронно, и командная строка не блокируется.

Если mode не указан, операция записи синхронна.

При указании асинхронного mode, когда происходит операция записи:

  • BytesToOutput значение свойства непрерывно обновляется для отражения количества байтов в выходном буфере.

  • Функция обратного вызова файла MATLAB ®, указанная для OutputEmptyFcn выполняется, когда выходной буфер пуст.

Чтобы определить, выполняется ли асинхронная операция записи, используйте TransferStatus собственность.

Примеры

Создание объекта последовательного порта s и подключите его к осциллографу Tektronix TDS 210. Напишите RS232? команда с fprintf. RS232? предписывает области вернуть параметры связи последовательного порта. Этот пример работает на платформе Windows ®.

s = serial('COM1');
fopen(s)
fprintf(s,'RS232?')

Укажите формат данных, не содержащих признак конца, или настройте признак конца как пустой.

s = serial('COM1');
fopen(s)
fprintf(s,'%s','RS232?')

Формат по умолчанию для fprintf является %s\n. Следовательно, терминатор, указанный Terminator свойство записывается автоматически. Однако иногда может потребоваться подавить запись терминатора.

Укажите массив форматов и команд:

s = serial('COM1');
fopen(s)
fprintf(s,['ch:%d scale:%d'],[1 20e-3],'sync')

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

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

Не рекомендуется начинать с R2019b

См. также

Функции

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