7 #ifndef __MSP430WARE_USCI_B_I2C_H__ 8 #define __MSP430WARE_USCI_B_I2C_H__ 10 #include "inc/hw_memmap.h" 12 #ifdef __MSP430_HAS_USCI_Bx__ 25 #include "inc/hw_memmap.h" 53 #define USCI_B_I2C_CLOCKSOURCE_ACLK UCSSEL__ACLK 54 #define USCI_B_I2C_CLOCKSOURCE_SMCLK UCSSEL__SMCLK 62 #define USCI_B_I2C_SET_DATA_RATE_400KBPS 400000 63 #define USCI_B_I2C_SET_DATA_RATE_100KBPS 100000 71 #define USCI_B_I2C_TRANSMIT_MODE UCTR 72 #define USCI_B_I2C_RECEIVE_MODE 0x00 82 #define USCI_B_I2C_STOP_INTERRUPT UCSTPIE 83 #define USCI_B_I2C_START_INTERRUPT UCSTTIE 84 #define USCI_B_I2C_RECEIVE_INTERRUPT UCRXIE 85 #define USCI_B_I2C_TRANSMIT_INTERRUPT UCTXIE 86 #define USCI_B_I2C_NAK_INTERRUPT UCNACKIE 87 #define USCI_B_I2C_ARBITRATIONLOST_INTERRUPT UCALIE 96 #define USCI_B_I2C_BUS_BUSY UCBBUSY 97 #define USCI_B_I2C_BUS_NOT_BUSY 0x00 105 #define USCI_B_I2C_SENDING_START UCTXSTT 106 #define USCI_B_I2C_START_SEND_COMPLETE 0x00 114 #define USCI_B_I2C_SENDING_STOP UCTXSTP 115 #define USCI_B_I2C_STOP_SEND_COMPLETE 0x00 167 uint8_t slaveAddress);
216 uint8_t slaveAddress);
254 uint8_t transmitData);
848 #endif // __MSP430WARE_USCI_B_I2C_H__ void USCI_B_I2C_masterSendMultiByteNext(uint16_t baseAddress, uint8_t txData)
Continues multi-byte transmission from Master to Slave.
Definition: usci_b_i2c.c:306
void USCI_B_I2C_setSlaveAddress(uint16_t baseAddress, uint8_t slaveAddress)
Sets the address that the I2C Master will place on the bus.
Definition: usci_b_i2c.c:77
void USCI_B_I2C_masterSendMultiByteStop(uint16_t baseAddress)
Send STOP byte at the end of a multi-byte transmission from Master to Slave.
Definition: usci_b_i2c.c:397
uint8_t USCI_B_I2C_slaveGetData(uint16_t baseAddress)
Receives a byte that has been sent to the I2C Module.
Definition: usci_b_i2c.c:101
void USCI_B_I2C_disableInterrupt(uint16_t baseAddress, uint8_t mask)
Disables individual I2C interrupt sources.
Definition: usci_b_i2c.c:148
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.
Definition: usci_b_i2c.c:409
bool USCI_B_I2C_masterSendMultiByteNextWithTimeout(uint16_t baseAddress, uint8_t txData, uint32_t timeout)
Continues multi-byte transmission from Master to Slave with timeout.
Definition: usci_b_i2c.c:320
uint8_t USCI_B_I2C_masterIsStartSent(uint16_t baseAddress)
Indicates whether START got sent.
Definition: usci_b_i2c.c:129
void USCI_B_I2C_masterSendMultiByteStart(uint16_t baseAddress, uint8_t txData)
Starts multi-byte transmission from Master to Slave.
Definition: usci_b_i2c.c:252
void USCI_B_I2C_masterReceiveSingleStart(uint16_t baseAddress)
Initiates a single byte Reception at the Master End.
Definition: usci_b_i2c.c:501
void USCI_B_I2C_masterReceiveMultiByteStop(uint16_t baseAddress)
Sends the STOP at the end of a multi-byte reception at the Master end.
Definition: usci_b_i2c.c:495
bool USCI_B_I2C_masterReceiveMultiByteFinishWithTimeout(uint16_t baseAddress, uint8_t *rxData, uint32_t timeout)
Finishes multi-byte reception at the Master end with timeout.
Definition: usci_b_i2c.c:462
bool USCI_B_I2C_masterSendMultiByteStartWithTimeout(uint16_t baseAddress, uint8_t txData, uint32_t timeout)
Starts multi-byte transmission from Master to Slave with timeout.
Definition: usci_b_i2c.c:275
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 bu...
Definition: usci_b_i2c.c:113
uint8_t USCI_B_I2C_masterReceiveSingle(uint16_t baseAddress)
Receives a byte that has been sent to the I2C Master Module.
Definition: usci_b_i2c.c:564
bool USCI_B_I2C_masterReceiveSingleStartWithTimeout(uint16_t baseAddress, uint32_t timeout)
Initiates a single byte Reception at the Master End with timeout.
Definition: usci_b_i2c.c:528
void USCI_B_I2C_masterReceiveMultiByteStart(uint16_t baseAddress)
Starts multi-byte reception at the Master end.
Definition: usci_b_i2c.c:429
uint8_t USCI_B_I2C_isBusBusy(uint16_t baseAddress)
Indicates whether or not the I2C bus is busy.
Definition: usci_b_i2c.c:107
uint8_t USCI_B_I2C_masterReceiveMultiByteFinish(uint16_t baseAddress)
Finishes multi-byte reception at the Master end.
Definition: usci_b_i2c.c:442
uint8_t USCI_B_I2C_getInterruptStatus(uint16_t baseAddress, uint8_t mask)
Gets the current I2C interrupt status.
Definition: usci_b_i2c.c:164
void USCI_B_I2C_disable(uint16_t baseAddress)
Disables the I2C block.
Definition: usci_b_i2c.c:71
bool USCI_B_I2C_masterSendSingleByteWithTimeout(uint16_t baseAddress, uint8_t txData, uint32_t timeout)
Does single byte transmission from Master to Slave with timeout.
Definition: usci_b_i2c.c:204
void USCI_B_I2C_enableInterrupt(uint16_t baseAddress, uint8_t mask)
Enables individual I2C interrupt sources.
Definition: usci_b_i2c.c:140
void USCI_B_I2C_initMaster(uint16_t baseAddress, USCI_B_I2C_initMasterParam *param)
Initializes the I2C Master block.
Definition: usci_b_i2c.c:21
uint32_t i2cClk
Is the rate of the clock supplied to the I2C module.
Definition: usci_b_i2c.h:38
uint8_t USCI_B_I2C_masterIsStopSent(uint16_t baseAddress)
Indicates whether STOP got sent.
Definition: usci_b_i2c.c:123
void USCI_B_I2C_initSlave(uint16_t baseAddress, uint8_t slaveAddress)
Initializes the I2C Slave block.
Definition: usci_b_i2c.c:48
void USCI_B_I2C_enable(uint16_t baseAddress)
Enables the I2C block.
Definition: usci_b_i2c.c:65
void USCI_B_I2C_masterSendMultiByteFinish(uint16_t baseAddress, uint8_t txData)
Finishes multi-byte transmission from Master to Slave.
Definition: usci_b_i2c.c:342
uint32_t USCI_B_I2C_getTransmitBufferAddressForDMA(uint16_t baseAddress)
Returns the address of the TX Buffer of the I2C for the DMA module.
Definition: usci_b_i2c.c:580
uint32_t dataRate
Definition: usci_b_i2c.h:43
void USCI_B_I2C_masterSendSingleByte(uint16_t baseAddress, uint8_t txData)
Does single byte transmission from Master to Slave.
Definition: usci_b_i2c.c:172
void USCI_B_I2C_masterSendStart(uint16_t baseAddress)
This function is used by the Master module to initiate START.
Definition: usci_b_i2c.c:135
uint8_t USCI_B_I2C_masterReceiveMultiByteNext(uint16_t baseAddress)
Starts multi-byte reception at the Master end one byte at a time.
Definition: usci_b_i2c.c:437
Used in the USCI_B_I2C_initMaster() function as the param parameter.
Definition: usci_b_i2c.h:31
uint32_t USCI_B_I2C_getReceiveBufferAddressForDMA(uint16_t baseAddress)
Returns the address of the RX Buffer of the I2C for the DMA module.
Definition: usci_b_i2c.c:575
uint8_t selectClockSource
Definition: usci_b_i2c.h:36
void USCI_B_I2C_setMode(uint16_t baseAddress, uint8_t mode)
Sets the mode of the I2C device.
Definition: usci_b_i2c.c:85
void USCI_B_I2C_clearInterrupt(uint16_t baseAddress, uint8_t mask)
Clears I2C interrupt sources.
Definition: usci_b_i2c.c:156
bool USCI_B_I2C_masterSendMultiByteFinishWithTimeout(uint16_t baseAddress, uint8_t txData, uint32_t timeout)
Finishes multi-byte transmission from Master to Slave with timeout.
Definition: usci_b_i2c.c:362
void USCI_B_I2C_slavePutData(uint16_t baseAddress, uint8_t transmitData)
Transmits a byte from the I2C Module.
Definition: usci_b_i2c.c:93