Запишите текст в инструмент
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) утверждается, когда терминатор строки выписан.
Терминатор строки, требуемый вашим инструментом, будет описан в его документации.