17.6.3.3.2 Function i2c_master_read_packet_wait_no_stop()

Reads data packet from slave without sending a stop condition when done.

enum status_code i2c_master_read_packet_wait_no_stop( struct i2c_master_module *const module, struct i2c_master_packet *const packet)

Reads a data packet from the specified slave address on the I2C bus without sending a stop condition when done, thus retaining ownership of the bus when done. To end the transaction, a read or write with stop condition must be performed.

Note: This will stall the device from any other operation. For interrupt-driven operation, see i2c_master_read_packet_job.
Table 17-18. Parameters
Data directionParameter nameDescription

[in, out]

module

Pointer to software module struct

[in, out]

packet

Pointer to I2C packet to transfer

Returns

Status of reading packet.

Table 17-19. Return Values
Return valueDescription

STATUS_OK

The packet was read successfully

STATUS_ERR_TIMEOUT

If no response was given within specified timeout period

STATUS_ERR_DENIED

If error on bus

STATUS_ERR_PACKET_COLLISION

If arbitration is lost

STATUS_ERR_BAD_ADDRESS

If slave is busy, or no slave acknowledged the address