s_i2c_read_command() function
This function is used to send I2C read command, which is divided in three parts. -1. If read buffer is smaller than hardware fifo, it can be sent out in one single time, so the hardware command(step) is simply like start(1)->read_ack(2)->read_nack(3)->end(4) -2. If read buffer is larger than hardware fifo, it cannot be sent out in one time, so it needs to be separated in to different transactions by interrupt. In this time, the hardware command(step) simply looks like start(1)->read_part(2)--interrupt--...--read(1)->end(2). -3. If only one byte is waiting to be read. only send nack command. like start(1)->read_nack(2)->end(3)
Arguments
i2c_master
I2C master handle
i2c_operation
Pointer to I2C trans operation structure.
fifo_fill
Pointer to read buffer length