1.8.7.57 1.25.6.57 1.26.5.57 1.27.5.57 1.28.6.57 1.36.7.55 1.41.5.57 1.42.3.57 FLEXCOMx_TWI_Write Function
C
/* x = FLEXCOM instance number */
/* TWI master mode */
bool FLEXCOMx_TWI_Write(uint16_t address, uint8_t *pdata, size_t length)
Summary
Writes data to the TWI slave
Description
This function writes data to a TWI slave on the bus. The function will attempt to write length number of bytes from pdata buffer to a slave whose address is specified by address. The TWI Master will generate a Start condition, write the data and then generate a Stop Condition. If the slave NAKs the request or a bus error was encountered on the bus, the transfer is terminated. The application can call the FLEXCOMx_TWI_ErrorGet function to know the cause of the error. The function is non-blocking. It initiates bus activity and returns immediately. The transfer is then completed in the peripheral interrupt. A transfer request cannot be placed when another transfer is in progress. Calling the write function when another function is already in progress will cause the function to return false. If a callback was registered, the library will call the registered callback function when the transfer has completed.
Precondition
FLEXCOMx_TWI_Initialize must have been called for the associated FLEXCOM TWI instance.
Parameters
Param | Description |
---|---|
address | 7-bit / 10-bit slave address |
data | pointer to source data buffer that contains the data to be transmitted |
length | Number of bytes to write |
Returns
true - The request was placed successfully and the bus activity was initiated.
false - The request fails, if there was already a transfer in progress when this function was called.
Example
uint8_t myData [NUM_BYTES];
if(!FLEXCOM0_TWI_Write( SLAVE_ADDR, &myData[0], NUM_BYTES ))
{
// error handling
}
Remarks
None