Запись текста в инструмент
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, я, 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
в окнах® машина для 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
не соединяется с прибором.
The ValuesSent
значение свойства увеличивается на количество значений, записываемых каждый раз fprintf
выдается.
Ошибка возникает, если выходной буфер не может содержать все записываемые данные. Размер выходного буфера можно задать с помощью OutputBufferSize
свойство.
fprintf
функция вернет сообщение об ошибке, если вы задаете flowcontrol
свойство к hardware
для последовательного объекта, и оборудования соединение не обнаружено. Это происходит, если устройство не подключено или подключенное устройство не утверждает, что готово к приему данных. Проверьте состояние удаленного устройства и настройки управления потоком, чтобы увидеть, вызывает ли аппаратное управление потоком ошибок в MATLAB®.
Примечание
Если вы хотите проверить, уверяет ли устройство, что оно готово к получению данных, установите FlowControl
на none
. После подключения к устройству проверьте PinStatus
структура для ClearToSend
. Если ClearToSend
является off
, существует проблема на стороне удаленного устройства. Если ClearToSend
является on
, есть оборудование FlowControl
устройство подготовлено для приема данных, и вы можете выполнить fprintf
.
Примечание
Чтобы получить список опций, которые можно использовать для функции, нажмите клавишу Tab после ввода функции в командной строке MATLAB. Список расширяется, и можно прокрутить, чтобы выбрать свойство или значение. Для получения информации об использовании этой расширенной функции заполнения клавишей Tab, смотрите Использование заполнения клавишей Tab для функций.
По умолчанию текст записывается в инструмент синхронно, и командная строка блокируется до завершения операции. Вы можете выполнить асинхронную запись, сконфигурировав mode
входной параметр, который будет async
. Для асинхронных записей,
The BytesToOutput
значение свойства постоянно обновляется, чтобы отразить количество байтов в выходе буфере.
Функция обратного вызова, заданная для OutputEmptyFcn
свойство выполняется, когда выходной буфер пуст.
Можно определить, выполняется ли асинхронная операция записи с TransferStatus
свойство.
Операции синхронной и асинхронной записи обсуждаются более подробно в операциях синхронной и асинхронной записи.
Операция записи с использованием fprintf
завершается, когда
Указанные данные записываются.
Время, заданное как Timeout
проходит свойство.
Для последовательного порта, TCPIP, UDP и VISA-последовательных объектов все вхождения \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, линия End Or Identify (EOI) устанавливается при выписывании терминатора строки.
Примечание
Требуемая вашим прибором терминатор строки будет описываем в его документации.