Запишите текст в инструмент
fprintf(obj,'cmd')
fprintf(obj,'format
','cmd')
fprintf(obj,'cmd','mode
')
fprintf(obj,'format
','cmd','mode
')
| Интерфейсный объект. |
| Строка записана в инструмент. |
| Спецификация преобразования языка C. |
| Задает, записаны ли данные синхронно или асинхронно. |
fprintf(obj,'cmd')
пишет строка cmd
к инструменту, соединенному с obj
. Форматом по умолчанию является %s\n
. Операция записи синхронна и блокирует командную строку, пока выполнение не завершено.
fprintf(obj,'
пишет строка с помощью формата, заданного format
','cmd')format
.
format
спецификация преобразования языка C. Технические требования преобразования включают %
символ и символы преобразования d, i, o, u, x, X, f, e, E, g, G, c, и s. Обратитесь к sprintf
технические требования формата файлового ввода-вывода или руководство C для получения дополнительной информации.
fprintf(obj,'cmd','
пишет строка с доступом из коммандной строки, заданным mode
')mode
. Если mode
sync
{cmd}
записан синхронно, и командная строка блокируется. Если mode
async
{cmd}
записан асинхронно, и командная строка не блокируется. Если mode
не задан, операция записи синхронна.
fprintf(obj,'
пишет строка с помощью заданного формата. Если format
','cmd','mode
')mode
sync
{cmd}
записан синхронно. Если mode
async
{cmd}
записан асинхронно.
Создайте объект последовательного порта s
, соедините s
на машине Windows® к осциллографу Tektronix® TDS 210 и записи RS232?
команда с fprintf
функция. RS232?
дает осциллографу команду возвращать коммуникационные настройки последовательного порта.
s = serial('COM1'); fopen(s) fprintf(s,'RS232?') settings = fscanf(s) settings = 9600;1;0;NONE;LF
Поскольку формат по умолчанию для fprintf
%s\n
, терминатор строки задан Terminator
свойство было автоматически записано. Однако в некоторых случаях вы можете хотеть подавить запись терминатора строки. Для этого необходимо явным образом задать формат для данных, которые не включают терминатор строки или конфигурируют терминатор строки, чтобы опустеть.
fprintf(s,'%s','RS232?')
Прежде чем можно будет записать текст в инструмент, он должен быть соединен с obj
с fopen
функция. Связанный интерфейсный объект имеет Status
значение свойства open
. Ошибка возвращена, при попытке выполнить операцию записи в то время как obj
не соединяется с инструментом.
ValuesSent
значение свойства увеличено на количество значений, записанных каждый раз fprintf
выпущен.
Ошибка происходит, если буфер вывода не может содержать все данные, которые будут записаны. Можно задать размер буфера вывода с OutputBufferSize
свойство.
fprintf
функция возвратит сообщение об ошибке, если вы установите flowcontrol
свойство к hardware
на последовательном объекте и аппаратной связи не обнаруживается. Это происходит, если устройство не соединяется, или подключенное устройство не утверждает, что это готово получить данные. Проверяйте вас состояние удаленного устройства и настройки управления потоками, чтобы видеть, вызывает ли аппаратное управление потоками ошибки в MATLAB®.
Примечание
Если вы хотите проверять, чтобы видеть, утверждает ли устройство, что это готово получить данные, установите FlowControl
к none
. Если вы соединяете с проверкой устройства PinStatus
структура для ClearToSend
. Если ClearToSend
off
, на стороне удаленного устройства существует проблема. Если ClearToSend
on
, существует оборудование FlowControl
устройство подготовилось получать данные, и можно выполниться fprintf
.
Примечание
Чтобы получить список опций, можно использовать на функции, нажать клавишу Tab после ввода функции на командной строке MATLAB. Список расширяется, и можно прокрутить, чтобы выбрать свойство или значение. Для получения информации об использовании этой функции завершения вкладки "Дополнительно" смотрите Используя Заполнение клавишей Tab для Функций.
По умолчанию текст записан в инструмент синхронно, и командная строка блокируется, пока операция не завершается. Можно выполнить асинхронную запись путем конфигурирования mode
входной параметр, чтобы быть async
. Для асинхронных записей,
BytesToOutput
значение свойства постоянно обновляется, чтобы отразить количество байтов в буфере вывода.
Функция обратного вызова задана для OutputEmptyFcn
свойство выполняется, когда буфер вывода пуст.
Можно определить, происходит ли асинхронная операция записи с TransferStatus
свойство.
Синхронные и асинхронные операции записи обсуждены более подробно в Синхронном По сравнению с Асинхронными Операциями записи.
Операция записи с помощью fprintf
завершается когда
Заданные данные записаны.
Время задано Timeout
передачи свойства.
Для последовательного порта, TCPIP, UDP, и последовательных ВИЗОЙ объектов, всех случаев \n
в cmd
заменяются Terminator
значение свойства. Поэтому при использовании формата по умолчанию %s\n
, все команды, записанные в инструмент, закончатся этим значением свойства.
Для GPIB, VISA-GPIB, VISA-VXI, и объектов VISA-GPIB-VXI, всех случаев \n
в cmd
заменяются EOSCharCode
значение свойства, если EOSMode
свойство установлено в write
или read&write
. Например, если EOSMode
установлен в write
и EOSCharCode
установлен в LF
, затем все случаи \n
заменяются символом перевода строки. Кроме того, для объектов GPIB, линия Конца или идентифицирует (EOI) утверждается, когда терминатор строки выписан.
Примечание
Терминатор строки, требуемый вашим инструментом, будет описан в его документации.