Tuesday, August 4, 2009

fgetl

Read line from file, discard newline character

Syntax

  • tline = fgetl(fid)

Description

tline = fgetl(fid) returns the next line of the file associated with the file identifier fid. If fgetl encounters the end-of-file indicator, it returns -1. (See fopen for a complete description of fid.) fgetl is intended for use with text files only.

The returned string tline does not include the line terminator(s) with the text line. To obtain the line terminators, use fgets.

Examples

The example reads every line of the M-file fgetl.m.

  • fid=fopen('fgetl.m');
    while 1
    tline = fgetl(fid);
    if ~ischar(tline), break, end
    disp(tline)
    end
    fclose(fid);


fgetl (serial)

Read one line of text from the device and discard the terminator

Syntax

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

Arguments


obj
A serial port object.
tline
Text read from the instrument, excluding the terminator.
count
The number of values read, including the terminator.
msg
A message indicating if the read operation was unsuccessful.

Description

tline = fgetl(obj) reads one line of text from the device connected to obj, and returns the data to tline. The returned data does not include the terminator with the text line. To include the terminator, use fgets.

[tline,count] = fgetl(obj) returns the number of values read to count.

[tline,count,msg] = fgetl(obj) returns a warning message to msg if the read operation was unsuccessful.

Remarks

Before you can read text from the device, it must be connected to obj with the fopen function. A connected serial port object has a Status property value of open. An error is returned if you attempt to perform a read operation while obj is not connected to the device.

If msg is not included as an output argument and the read operation was not successful, then a warning message is returned to the command line.

The ValuesReceived property value is increased by the number of values read - including the terminator - each time fgetl is issued.

If you use the help command to display help for fgetl, then you need to supply the pathname shown below.

  • help serial/fgetl

Rules for Completing a Read Operation with fgetl

A read operation with fgetl blocks access to the MATLAB command line until:

  • The terminator specified by the Terminator property is reached.
  • The time specified by the Timeout property passes.
  • The input buffer is filled.

Example

Create the serial port object s, connect s to a Tektronix TDS 210 oscilloscope, and write the RS232? command with the fprintf function. RS232? instructs the scope to return serial port communications settings.

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

Because the default value for the ReadAsyncMode property is continuous, data is automatically returned to the input buffer.

  • s.BytesAvailable
    ans =
    17

Use fgetl to read the data returned from the previous write operation, and discard the terminator.

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

Disconnect s from the scope, and remove s from memory and the workspace.

  • fclose(s)
    delete(s)
    clear s

No comments:

Post a Comment