Functions | |
void | USCI_B_I2C_initMaster (uint16_t baseAddress, USCI_B_I2C_initMasterParam *param) |
Initializes the I2C Master block. More... | |
void | USCI_B_I2C_initSlave (uint16_t baseAddress, uint8_t slaveAddress) |
Initializes the I2C Slave block. More... | |
void | USCI_B_I2C_enable (uint16_t baseAddress) |
Enables the I2C block. More... | |
void | USCI_B_I2C_disable (uint16_t baseAddress) |
Disables the I2C block. More... | |
void | USCI_B_I2C_setSlaveAddress (uint16_t baseAddress, uint8_t slaveAddress) |
Sets the address that the I2C Master will place on the bus. More... | |
void | USCI_B_I2C_setMode (uint16_t baseAddress, uint8_t mode) |
Sets the mode of the I2C device. More... | |
void | USCI_B_I2C_slavePutData (uint16_t baseAddress, uint8_t transmitData) |
Transmits a byte from the I2C Module. More... | |
uint8_t | USCI_B_I2C_slaveGetData (uint16_t baseAddress) |
Receives a byte that has been sent to the I2C Module. More... | |
uint8_t | USCI_B_I2C_isBusBusy (uint16_t baseAddress) |
Indicates whether or not the I2C bus is busy. More... | |
uint8_t | USCI_B_I2C_isBusy (uint16_t baseAddress) |
DEPRECATED - Function may be removed in future release. Indicates whether or not the I2C module is busy. More... | |
uint8_t | USCI_B_I2C_masterIsStopSent (uint16_t baseAddress) |
Indicates whether STOP got sent. More... | |
uint8_t | USCI_B_I2C_masterIsStartSent (uint16_t baseAddress) |
Indicates whether START got sent. More... | |
void | USCI_B_I2C_masterSendStart (uint16_t baseAddress) |
This function is used by the Master module to initiate START. More... | |
void | USCI_B_I2C_enableInterrupt (uint16_t baseAddress, uint8_t mask) |
Enables individual I2C interrupt sources. More... | |
void | USCI_B_I2C_disableInterrupt (uint16_t baseAddress, uint8_t mask) |
Disables individual I2C interrupt sources. More... | |
void | USCI_B_I2C_clearInterrupt (uint16_t baseAddress, uint8_t mask) |
Clears I2C interrupt sources. More... | |
uint8_t | USCI_B_I2C_getInterruptStatus (uint16_t baseAddress, uint8_t mask) |
Gets the current I2C interrupt status. More... | |
void | USCI_B_I2C_masterSendSingleByte (uint16_t baseAddress, uint8_t txData) |
Does single byte transmission from Master to Slave. More... | |
bool | USCI_B_I2C_masterSendSingleByteWithTimeout (uint16_t baseAddress, uint8_t txData, uint32_t timeout) |
Does single byte transmission from Master to Slave with timeout. More... | |
void | USCI_B_I2C_masterSendMultiByteStart (uint16_t baseAddress, uint8_t txData) |
Starts multi-byte transmission from Master to Slave. More... | |
bool | USCI_B_I2C_masterSendMultiByteStartWithTimeout (uint16_t baseAddress, uint8_t txData, uint32_t timeout) |
Starts multi-byte transmission from Master to Slave with timeout. More... | |
void | USCI_B_I2C_masterSendMultiByteNext (uint16_t baseAddress, uint8_t txData) |
Continues multi-byte transmission from Master to Slave. More... | |
bool | USCI_B_I2C_masterSendMultiByteNextWithTimeout (uint16_t baseAddress, uint8_t txData, uint32_t timeout) |
Continues multi-byte transmission from Master to Slave with timeout. More... | |
void | USCI_B_I2C_masterSendMultiByteFinish (uint16_t baseAddress, uint8_t txData) |
Finishes multi-byte transmission from Master to Slave. More... | |
bool | USCI_B_I2C_masterSendMultiByteFinishWithTimeout (uint16_t baseAddress, uint8_t txData, uint32_t timeout) |
Finishes multi-byte transmission from Master to Slave with timeout. More... | |
void | USCI_B_I2C_masterSendMultiByteStop (uint16_t baseAddress) |
Send STOP byte at the end of a multi-byte transmission from Master to Slave. More... | |
bool | USCI_B_I2C_masterSendMultiByteStopWithTimeout (uint16_t baseAddress, uint32_t timeout) |
Send STOP byte at the end of a multi-byte transmission from Master to Slave with timeout. More... | |
void | USCI_B_I2C_masterReceiveMultiByteStart (uint16_t baseAddress) |
Starts multi-byte reception at the Master end. More... | |
uint8_t | USCI_B_I2C_masterReceiveMultiByteNext (uint16_t baseAddress) |
Starts multi-byte reception at the Master end one byte at a time. More... | |
uint8_t | USCI_B_I2C_masterReceiveMultiByteFinish (uint16_t baseAddress) |
Finishes multi-byte reception at the Master end. More... | |
bool | USCI_B_I2C_masterReceiveMultiByteFinishWithTimeout (uint16_t baseAddress, uint8_t *rxData, uint32_t timeout) |
Finishes multi-byte reception at the Master end with timeout. More... | |
void | USCI_B_I2C_masterReceiveMultiByteStop (uint16_t baseAddress) |
Sends the STOP at the end of a multi-byte reception at the Master end. More... | |
void | USCI_B_I2C_masterReceiveSingleStart (uint16_t baseAddress) |
Initiates a single byte Reception at the Master End. More... | |
bool | USCI_B_I2C_masterReceiveSingleStartWithTimeout (uint16_t baseAddress, uint32_t timeout) |
Initiates a single byte Reception at the Master End with timeout. More... | |
uint8_t | USCI_B_I2C_masterReceiveSingle (uint16_t baseAddress) |
Receives a byte that has been sent to the I2C Master Module. More... | |
uint32_t | USCI_B_I2C_getReceiveBufferAddressForDMA (uint16_t baseAddress) |
Returns the address of the RX Buffer of the I2C for the DMA module. More... | |
uint32_t | USCI_B_I2C_getTransmitBufferAddressForDMA (uint16_t baseAddress) |
Returns the address of the TX Buffer of the I2C for the DMA module. More... | |
void USCI_B_I2C_clearInterrupt | ( | uint16_t | baseAddress, |
uint8_t | mask | ||
) |
Clears I2C interrupt sources.
The I2C interrupt source is cleared, so that it no longer asserts. The highest interrupt flag is automatically cleared when an interrupt vector generator is used.
baseAddress | is the base address of the I2C Slave module. |
mask | is a bit mask of the interrupt sources to be cleared. Mask value is the logical OR of any of the following:
|
Modified bits of UCBxIFG register.
void USCI_B_I2C_disable | ( | uint16_t | baseAddress | ) |
Disables the I2C block.
This will disable operation of the I2C block.
baseAddress | is the base address of the USCI I2C module. |
Modified bits are UCSWRST of UCBxCTL1 register.
void USCI_B_I2C_disableInterrupt | ( | uint16_t | baseAddress, |
uint8_t | mask | ||
) |
Disables individual I2C interrupt sources.
Disables the indicated I2C interrupt sources. Only the sources that are enabled can be reflected to the processor interrupt; disabled sources have no effect on the processor.
baseAddress | is the base address of the I2C module. |
mask | is the bit mask of the interrupt sources to be disabled. Mask value is the logical OR of any of the following:
|
Modified bits of UCBxIE register.
void USCI_B_I2C_enable | ( | uint16_t | baseAddress | ) |
Enables the I2C block.
This will enable operation of the I2C block.
baseAddress | is the base address of the USCI I2C module. |
Modified bits are UCSWRST of UCBxCTL1 register.
void USCI_B_I2C_enableInterrupt | ( | uint16_t | baseAddress, |
uint8_t | mask | ||
) |
Enables individual I2C interrupt sources.
Enables the indicated I2C interrupt sources. Only the sources that are enabled can be reflected to the processor interrupt; disabled sources have no effect on the processor. Does not clear interrupt flags.
baseAddress | is the base address of the I2C module. |
mask | is the bit mask of the interrupt sources to be enabled. Mask value is the logical OR of any of the following:
|
Modified bits of UCBxIE register.
uint8_t USCI_B_I2C_getInterruptStatus | ( | uint16_t | baseAddress, |
uint8_t | mask | ||
) |
Gets the current I2C interrupt status.
This returns the interrupt status for the I2C module based on which flag is passed. mask parameter can be logic OR of any of the following selection.
baseAddress | is the base address of the I2C module. |
mask | is the masked interrupt flag status to be returned. Mask value is the logical OR of any of the following:
|
uint32_t USCI_B_I2C_getReceiveBufferAddressForDMA | ( | uint16_t | baseAddress | ) |
Returns the address of the RX Buffer of the I2C for the DMA module.
Returns the address of the I2C RX Buffer. This can be used in conjunction with the DMA to store the received data directly to memory.
baseAddress | is the base address of the I2C module. |
uint32_t USCI_B_I2C_getTransmitBufferAddressForDMA | ( | uint16_t | baseAddress | ) |
Returns the address of the TX Buffer of the I2C for the DMA module.
Returns the address of the I2C TX Buffer. This can be used in conjunction with the DMA to obtain transmitted data directly from memory.
baseAddress | is the base address of the I2C module. |
void USCI_B_I2C_initMaster | ( | uint16_t | baseAddress, |
USCI_B_I2C_initMasterParam * | param | ||
) |
Initializes the I2C Master block.
This function initializes operation of the I2C Master block. Upon successful initialization of the I2C block, this function will have set the bus speed for the master; however I2C module is still disabled till USCI_B_I2C_enable is invoked. If the parameter dataRate is USCI_B_I2C_SET_DATA_RATE_400KBPS, then the master block will be set up to transfer data at 400 kbps; otherwise, it will be set up to transfer data at 100 kbps.
baseAddress | is the base address of the I2C Master module. |
param | is the pointe to struct for master initialization. |
Modified bits are UCBxBR0 of UCBxBR1 register; bits UCSSELx and UCSWRST of UCBxCTL1 register; bits UCMST, UCMODE_3 and UCSYNC of UCBxCTL0 register.
References USCI_B_I2C_initMasterParam::dataRate, USCI_B_I2C_initMasterParam::i2cClk, and USCI_B_I2C_initMasterParam::selectClockSource.
void USCI_B_I2C_initSlave | ( | uint16_t | baseAddress, |
uint8_t | slaveAddress | ||
) |
Initializes the I2C Slave block.
This function initializes operation of the I2C as a Slave mode. Upon successful initialization of the I2C blocks, this function will have set the slave address but the I2C module is still disabled till USCI_B_I2C_enable is invoked.
baseAddress | is the base address of the I2C Slave module. |
slaveAddress | 7-bit slave address |
Modified bits of UCBxI2COA register; bits UCSWRST of UCBxCTL1 register; bits UCMODE_3 and UCSYNC of UCBxCTL0 register.
uint8_t USCI_B_I2C_isBusBusy | ( | uint16_t | baseAddress | ) |
Indicates whether or not the I2C bus is busy.
This function returns an indication of whether or not the I2C bus is busy.This function checks the status of the bus via UCBBUSY bit in UCBxSTAT register.
baseAddress | is the base address of the I2C module. |
uint8_t USCI_B_I2C_isBusy | ( | uint16_t | baseAddress | ) |
DEPRECATED - Function may be removed in future release. Indicates whether or not the I2C module is busy.
This function returns an indication of whether or not the I2C module is busy transmitting or receiving data. This function checks if the Transmit or receive flag is set.
baseAddress | is the base address of the I2C module. |
uint8_t USCI_B_I2C_masterIsStartSent | ( | uint16_t | baseAddress | ) |
Indicates whether START got sent.
This function returns an indication of whether or not START got sent This function checks the status of the bus via UCTXSTT bit in UCBxCTL1 register.
baseAddress | is the base address of the I2C module. |
uint8_t USCI_B_I2C_masterIsStopSent | ( | uint16_t | baseAddress | ) |
Indicates whether STOP got sent.
This function returns an indication of whether or not STOP got sent This function checks the status of the bus via UCTXSTP bit in UCBxCTL1 register.
baseAddress | is the base address of the I2C module. |
uint8_t USCI_B_I2C_masterReceiveMultiByteFinish | ( | uint16_t | baseAddress | ) |
Finishes multi-byte reception at the Master end.
This function is used by the Master module to initiate completion of a multi-byte reception. This function does the following: - Receives the current byte and initiates the STOP from Master to Slave
baseAddress | is the base address of the I2C Master module. |
Modified bits are UCTXSTP of UCBxCTL1 register.
bool USCI_B_I2C_masterReceiveMultiByteFinishWithTimeout | ( | uint16_t | baseAddress, |
uint8_t * | rxData, | ||
uint32_t | timeout | ||
) |
Finishes multi-byte reception at the Master end with timeout.
This function is used by the Master module to initiate completion of a multi-byte reception. This function does the following: - Receives the current byte and initiates the STOP from Master to Slave
baseAddress | is the base address of the I2C Master module. |
rxData | is a pointer to the location to store the received byte at master end |
timeout | is the amount of time to wait until giving up |
Modified bits are UCTXSTP of UCBxCTL1 register.
uint8_t USCI_B_I2C_masterReceiveMultiByteNext | ( | uint16_t | baseAddress | ) |
Starts multi-byte reception at the Master end one byte at a time.
This function is used by the Master module to receive each byte of a multi- byte reception. This function reads currently received byte
baseAddress | is the base address of the I2C Master module. |
void USCI_B_I2C_masterReceiveMultiByteStart | ( | uint16_t | baseAddress | ) |
Starts multi-byte reception at the Master end.
This function is used by the Master module initiate reception of a single byte. This function does the following: - Sends START
baseAddress | is the base address of the I2C Master module. |
Modified bits are UCTXSTT of UCBxCTL1 register.
void USCI_B_I2C_masterReceiveMultiByteStop | ( | uint16_t | baseAddress | ) |
Sends the STOP at the end of a multi-byte reception at the Master end.
This function is used by the Master module to initiate STOP
baseAddress | is the base address of the I2C Master module. |
Modified bits are UCTXSTP of UCBxCTL1 register.
uint8_t USCI_B_I2C_masterReceiveSingle | ( | uint16_t | baseAddress | ) |
Receives a byte that has been sent to the I2C Master Module.
This function reads a byte of data from the I2C receive data Register.
baseAddress | is the base address of the I2C module. |
void USCI_B_I2C_masterReceiveSingleStart | ( | uint16_t | baseAddress | ) |
Initiates a single byte Reception at the Master End.
This function sends a START and STOP immediately to indicate Single byte reception
baseAddress | is the base address of the I2C Master module. |
Modified bits are GIE of SR register; bits UCTXSTT and UCTXSTP of UCBxCTL1 register.
bool USCI_B_I2C_masterReceiveSingleStartWithTimeout | ( | uint16_t | baseAddress, |
uint32_t | timeout | ||
) |
Initiates a single byte Reception at the Master End with timeout.
This function sends a START and STOP immediately to indicate Single byte reception
baseAddress | is the base address of the I2C Master module. |
timeout | is the amount of time to wait until giving up |
Modified bits are GIE of SR register; bits UCTXSTT and UCTXSTP of UCBxCTL1 register.
void USCI_B_I2C_masterSendMultiByteFinish | ( | uint16_t | baseAddress, |
uint8_t | txData | ||
) |
Finishes multi-byte transmission from Master to Slave.
This function is used by the Master module to send the last byte and STOP. This function does the following: - Transmits the last data byte of a multi-byte transmission to the Slave; - Sends STOP
baseAddress | is the base address of the I2C Master module. |
txData | is the last data byte to be transmitted in a multi-byte transmission |
Modified bits of UCBxTXBUF register and bits of UCBxCTL1 register.
bool USCI_B_I2C_masterSendMultiByteFinishWithTimeout | ( | uint16_t | baseAddress, |
uint8_t | txData, | ||
uint32_t | timeout | ||
) |
Finishes multi-byte transmission from Master to Slave with timeout.
This function is used by the Master module to send the last byte and STOP. This function does the following: - Transmits the last data byte of a multi-byte transmission to the Slave; - Sends STOP
baseAddress | is the base address of the I2C Master module. |
txData | is the last data byte to be transmitted in a multi-byte transmission |
timeout | is the amount of time to wait until giving up |
Modified bits of UCBxTXBUF register and bits of UCBxCTL1 register.
void USCI_B_I2C_masterSendMultiByteNext | ( | uint16_t | baseAddress, |
uint8_t | txData | ||
) |
Continues multi-byte transmission from Master to Slave.
This function is used by the Master module continue each byte of a multi- byte transmission. This function does the following: -Transmits each data byte of a multi-byte transmission to the Slave
baseAddress | is the base address of the I2C Master module. |
txData | is the next data byte to be transmitted |
Modified bits of UCBxTXBUF register.
bool USCI_B_I2C_masterSendMultiByteNextWithTimeout | ( | uint16_t | baseAddress, |
uint8_t | txData, | ||
uint32_t | timeout | ||
) |
Continues multi-byte transmission from Master to Slave with timeout.
This function is used by the Master module continue each byte of a multi- byte transmission. This function does the following: -Transmits each data byte of a multi-byte transmission to the Slave
baseAddress | is the base address of the I2C Master module. |
txData | is the next data byte to be transmitted |
timeout | is the amount of time to wait until giving up |
Modified bits of UCBxTXBUF register.
void USCI_B_I2C_masterSendMultiByteStart | ( | uint16_t | baseAddress, |
uint8_t | txData | ||
) |
Starts multi-byte transmission from Master to Slave.
This function is used by the Master module to send a single byte. This function does the following: - Sends START; - Transmits the first data byte of a multi-byte transmission to the Slave
baseAddress | is the base address of the I2C Master module. |
txData | is the first data byte to be transmitted |
Modified bits of UCBxTXBUF register, bits of UCBxIFG register, bits of UCBxCTL1 register and bits of UCBxIE register.
bool USCI_B_I2C_masterSendMultiByteStartWithTimeout | ( | uint16_t | baseAddress, |
uint8_t | txData, | ||
uint32_t | timeout | ||
) |
Starts multi-byte transmission from Master to Slave with timeout.
This function is used by the Master module to send a single byte. This function does the following: - Sends START; - Transmits the first data byte of a multi-byte transmission to the Slave
baseAddress | is the base address of the I2C Master module. |
txData | is the first data byte to be transmitted |
timeout | is the amount of time to wait until giving up |
void USCI_B_I2C_masterSendMultiByteStop | ( | uint16_t | baseAddress | ) |
Send STOP byte at the end of a multi-byte transmission from Master to Slave.
This function is used by the Master module send STOP at the end of a multi- byte transmission. This function does the following: - Sends a STOP after current transmission is complete
baseAddress | is the base address of the I2C Master module. |
Modified bits are UCTXSTP of UCBxCTL1 register.
bool USCI_B_I2C_masterSendMultiByteStopWithTimeout | ( | uint16_t | baseAddress, |
uint32_t | timeout | ||
) |
Send STOP byte at the end of a multi-byte transmission from Master to Slave with timeout.
This function is used by the Master module send STOP at the end of a multi- byte transmission. This function does the following: - Sends a STOP after current transmission is complete
baseAddress | is the base address of the I2C Master module. |
timeout | is the amount of time to wait until giving up |
Modified bits are UCTXSTP of UCBxCTL1 register.
void USCI_B_I2C_masterSendSingleByte | ( | uint16_t | baseAddress, |
uint8_t | txData | ||
) |
Does single byte transmission from Master to Slave.
This function is used by the Master module to send a single byte.This function does the following: - Sends START; - Transmits the byte to the Slave; - Sends STOP
baseAddress | is the base address of the I2C Master module. |
txData | is the data byte to be transmitted |
Modified bits of UCBxTXBUF register, bits of UCBxIFG register, bits of UCBxCTL1 register and bits of UCBxIE register.
bool USCI_B_I2C_masterSendSingleByteWithTimeout | ( | uint16_t | baseAddress, |
uint8_t | txData, | ||
uint32_t | timeout | ||
) |
Does single byte transmission from Master to Slave with timeout.
This function is used by the Master module to send a single byte. This function does the following: - Sends START; - Transmits the byte to the Slave; - Sends STOP
baseAddress | is the base address of the I2C Master module. |
txData | is the data byte to be transmitted |
timeout | is the amount of time to wait until giving up |
Modified bits of UCBxTXBUF register, bits of UCBxIFG register, bits of UCBxCTL1 register and bits of UCBxIE register.
void USCI_B_I2C_masterSendStart | ( | uint16_t | baseAddress | ) |
This function is used by the Master module to initiate START.
This function is used by the Master module to initiate STOP
baseAddress | is the base address of the I2C Master module. |
void USCI_B_I2C_setMode | ( | uint16_t | baseAddress, |
uint8_t | mode | ||
) |
Sets the mode of the I2C device.
When the receive parameter is set to USCI_B_I2C_TRANSMIT_MODE, the address will indicate that the I2C module is in receive mode; otherwise, the I2C module is in send mode.
baseAddress | is the base address of the I2C Master module. |
mode | indicates whether module is in transmit/receive mode Valid values are:
|
void USCI_B_I2C_setSlaveAddress | ( | uint16_t | baseAddress, |
uint8_t | slaveAddress | ||
) |
Sets the address that the I2C Master will place on the bus.
This function will set the address that the I2C Master will place on the bus when initiating a transaction.
baseAddress | is the base address of the I2C Master module. |
slaveAddress | 7-bit slave address |
Modified bits of UCBxI2CSA register; bits UCSWRST of UCBxCTL1 register.
uint8_t USCI_B_I2C_slaveGetData | ( | uint16_t | baseAddress | ) |
Receives a byte that has been sent to the I2C Module.
This function reads a byte of data from the I2C receive data Register.
baseAddress | is the base address of the I2C module. |
void USCI_B_I2C_slavePutData | ( | uint16_t | baseAddress, |
uint8_t | transmitData | ||
) |
Transmits a byte from the I2C Module.
This function will place the supplied data into I2C transmit data register to start transmission Modified bit is UCBxTXBUF register
baseAddress | is the base address of the I2C module. |
transmitData | data to be transmitted from the I2C module |
Modified bits of UCBxTXBUF register.