(последовательный) fgetl

Прочитайте строку текста ASCII от устройства и отбросьте терминатор строки

Синтаксис

tline = fgetl(obj)
[tline,count] = fgetl(obj)
[tline,count,msg] = fgetl(obj)

Описание

tline = fgetl(obj) читает одну строку текста ASCII от устройства, соединенного к объекту последовательного порта, obj, и возвращает данные в tline. Эти возвращенные данные не включают терминатор строки с текстовой строкой. Чтобы включать терминатор строки, используйте fgets.

[tline,count] = fgetl(obj) возвращает количество чтения значений к count, включая терминатор строки.

[tline,count,msg] = fgetl(obj) возвращает предупреждающее сообщение в msg, если операция чтения была неудачна.

Примеры

На платформе Windows® создайте объект последовательного порта s, соедините s с осциллографом Tektronix® TDS 210 и запишите команду RS232? с функцией fprintf. RS232? дает осциллографу команду возвращать коммуникационные настройки последовательного порта.

s = serial('COM1');
fopen(s)
fprintf(s,'RS232?')

Поскольку значением по умолчанию для свойства ReadAsyncMode является continuous, данные автоматически возвращены во входной буфер.

s.BytesAvailable
ans =
    17

Используйте fgetl, чтобы считать данные, возвращенные в предыдущую операцию записи и отбросить терминатор строки.

settings = fgetl(s)
settings =
9600;0;0;NONE;LF
length(settings)
ans =
    16

Отключите s от осциллографа и удалите s из памяти и рабочей области.

fclose(s)
delete(s)
clear s

Советы

Прежде чем можно будет считать текст из устройства, он должен быть соединен с obj с функцией fopen. Связанный объект последовательного порта имеет значение свойства Status open. Ошибка возвращена, при попытке выполнить операцию чтения, в то время как obj не соединяется с устройством.

Если msg не включен как выходной аргумент, и операция чтения не была успешна, то предупреждающее сообщение возвращено в командную строку.

Значение свойства ValuesReceived увеличено количеством чтения значений – включая терминатор строки – каждый раз, когда fgetl выпущен.

Примечание

Вы не можете использовать значения ASCII, больше, чем 127 символов. Функция ограничивается 127 бинарными символами.

Правила для Завершения Операции чтения с fgetl

Операция чтения с fgetl блокирует доступ к командной строке MATLAB® до:

  • Терминатор строки, заданный свойством Terminator, достигнут.

  • Прошло время, заданное как свойство Timeout.

  • Входной буфер заполнен.

Примечание

Вы не можете использовать значения ASCII, больше, чем 127 символов. Функция ограничивается 127 бинарными символами.

Представлено до R2006a

Для просмотра документации необходимо авторизоваться на сайте