## f_read

The f_read function reads data from a file.

    FRESULT f_read (
      FIL* FileObject,    /* Pointer to the file object structure */
      void* Buffer,       /* Pointer to the buffer to store read data */
      WORD ByteToRead,    /* Number of bytes to read */
      WORD* ByteRead      /* Pointer to the variable to return number of bytes read */
    );

#### Parameters

FileObject
  Pointer to the open file object.
Buffer
  Pointer to the buffer to store read data
ByteToRead
  Number of bytes to read
ByteRead
  Pointer to the WORD variable to return number of bytes read.

#### Return Values

FR_OK (0)
  The function succeeded.
FR_DENIED
  The function denied due to the file has been opened in write only mode.
FR_RW_ERROR
  The function failed due to a disk error or an internal error.
FR_NOT_READY
  The disk drive cannot work due to no medium in the drive or any other reason.
FR_INVALID_OBJECT
  The file object is invalid.

#### Description

The file pointer in the file object increases in number of bytes read. The `ByteRead` will become less than `ByteToRead` when the read pointer reached to end of the file or any error occured during the read operation.

#### References

`f_open, f_write, f_close, FIL`

Return