Считайте строку текста ASCII от устройства и отбросьте терминатор строки
tline = fgetl (obj)
[tline, количество] = fgetl (obj)
[tline, количество, сообщение] = 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 блокирует доступ к командной строке MATLAB® до:
Терминатор строки, заданный свойством Terminator, достигнут.
Прошло время, заданное как свойство Timeout.
Входной буфер заполнен.
Вы не можете использовать значения ASCII, больше, чем 127 символов. Функция ограничивается 127 бинарными символами.
BytesAvailable | InputBufferSize | ReadAsyncMode | Состояние | Терминатор | Тайм-аут | ValuesReceived | fgets | fopen