fprintf (serial)

(Не рекомендуемый) текст Записи устройству

Этот 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режим задает если 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, когда операция записи происходит:

  • 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