fprintf (serial)

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

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

Синтаксис

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

Описание

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

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

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

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

Вам нужно открытое соединение от объекта последовательного порта, 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, когда происходит операция записи:

  • The 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