|
調(diào)用順序
1、USCI_B_I2C_initMaster
一些基礎(chǔ)配置(速率、地址等)
USCI_B_I2C_masterSendSingleByte()
主單字節(jié)傳輸
USCI_B_I2C_masterSendMultiByteStart()
USCI_B_I2C_masterSendMultiByteNext()
USCI_B_I2C_masterSendMultiByteFinish()
USCI_B_I2C_masterSendMultiByteStop()
主多字節(jié)傳輸
USCI_B_I2C_masterReceiveSingleStart()
USCI_B_I2C_masterReceiveSingle()
主字節(jié)接收
USCI_B_I2C_masterMultiByteReceiveStart()
USCI_B_I2C_masterReceiveMultiByteNext()
USCI_B_I2C_masterReceiveMultiByteFinish()
USCI_B_I2C_masterReceiveMultiByteStop()
主多字節(jié)接收
USCI_B_I2C_masterSendSingleByteWithTimeout()
超時(shí)單字節(jié)主傳輸
USCI_B_I2C_masterSendMultiByteStartWithTimeout()
USCI_B_I2C_masterSendMultiByteNextWithTimeout()
USCI_B_I2C_masterReceiveMultiByteFinishWithTimeout()
USCI_B_I2C_masterSendMultiByteStopWithTimeout()
超時(shí)多字節(jié)主接收
USCI_B_I2C_masterReceiveSingleStartWithTimeout()
超時(shí)單字節(jié)主接收
2、USCI_B_I2C_setSlaveAddress(USCI_B_I2C_initSlave())
3、USCI_B_I2C_setMode
4、USCI_B_I2C_enable
5、USCI_B_I2C_enableInterrupt
API相關(guān)
USCI_B_I2C_slavePutData()
從機(jī)傳輸API
USCI_B_I2C_slaveGetData()
從站接收API
基礎(chǔ)庫函數(shù)
USCI_B_I2C_initMaster (uint16_t baseAddress,USCI_B_I2C_initMasterParam∗param);初始化I2C
USCI_B_I2C_initSlave (uint16_t baseAddress,USCI_B_I2C_initSlaveParam ∗param);初始化I2C從模塊
USCI_B_I2C_enable (uint16_t baseAddress);使能I2C模塊
USCI_B_I2C_disable (uint16_t baseAddress);禁用I2C模塊
USCI_B_I2C_setSlaveAddress (uint16_t baseAddress, uint8_t slaveAddress);設(shè)置 i2c 主機(jī)將在總線上尋找的地址
USCI_B_I2C_setMode (uint16_t baseAddress, uint16_t mode);設(shè)置 i2c 設(shè)備的模式。
USCI_B_I2C_slavePutData (uint16_t baseAddress, uint8_t transmitData);從 i2c 模塊傳輸一個(gè)字節(jié)
(數(shù)值)USCI_B_I2C_slaveGetData (uint16_t baseAddress);接收一個(gè)已經(jīng)發(fā)送到 i2c 模塊的字節(jié)
(數(shù)值)USCI_B_I2C_isBusBusy (uint16_t baseAddress);查看I2C是否占線
(數(shù)值)USCI_B_I2C_isBusy (uint16_t baseAddress);(在將來的版本中可能會(huì)刪除 )表示 I2C 是否忙碌。
(數(shù)值)USCI_B_I2C_masterIsStopSent (uint16_t baseAddress);表明 stop 是否被發(fā)送
(數(shù)值)USCI_B_I2C_masterIsStartSent (uint16_t baseAddress);顯示 start 是否已經(jīng)發(fā)送
USCI_B_I2C_masterSendStart (uint16_t baseAddress);主模塊使用此函數(shù)啟動(dòng)啟動(dòng)
USCI_B_I2C_enableInterrupt (uint16_t baseAddress, uint16_t mask);使能中斷
USCI_B_I2C_disableInterrupt (uint16_t baseAddress, uint16_t mask);禁用中斷
USCI_B_I2C_clearInterrupt (uint16_t baseAddress, uint16_t mask);清除 i2c 中斷源
(數(shù)值)USCI_B_I2C_getInterruptStatus (uint16_t baseAddress, uint16_t mask);獲取當(dāng)前中斷狀態(tài)
USCI_B_I2C_masterSendSingleByte (uint16_t baseAddress, uint8_t txData);從主機(jī)到從機(jī)進(jìn)行單字節(jié)傳輸
(數(shù)值)USCI_B_I2C_masterReceiveSingleByte (uint16_t baseAddress);從服務(wù)器接收字節(jié)信號(hào)
(bool)USCI_B_I2C_masterSendSingleByteWithTimeout (uint16_t baseAddress, uint8_ttxData, uint32_t timeout);用超時(shí)從主機(jī)到從機(jī)進(jìn)行單字節(jié)傳輸
USCI_B_I2C_masterSendMultiByteStart (uint16_t baseAddress, uint8_t txData);開始從主機(jī)到從機(jī)的多字節(jié)傳輸
(bool)USCI_B_I2C_masterSendMultiByteStartWithTimeout (uint16_t baseAddress, uint8_ttxData, uint32_t timeout);用超時(shí)啟動(dòng)從主到從的多字節(jié)傳輸。
USCI_B_I2C_masterSendMultiByteNext (uint16_t baseAddress, uint8_t txData);繼續(xù)從主機(jī)到從機(jī)的多字節(jié)傳輸
(bool)USCI_B_I2C_masterSendMultiByteNextWithTimeout (uint16_t baseAddress, uint8_ttxData, uint32_t timeout);用超時(shí)繼續(xù)從主機(jī)到從機(jī)的多字節(jié)傳輸。
USCI_B_I2C_masterSendMultiByteFinish (uint16_t baseAddress, uint8_t txData);完成從主機(jī)到從機(jī)的多字節(jié)傳輸
(bool) USCI_B_I2C_masterSendMultiByteFinishWithTimeout (uint16_t baseAddress, uint8_ttxData, uint32_t timeout);用超時(shí)完成從主機(jī)到從機(jī)的多字節(jié)傳輸。
USCI_B_I2C_masterSendMultiByteStop (uint16_t baseAddress);在從主機(jī)到從機(jī)的多字節(jié)傳輸結(jié)束時(shí)發(fā)送停止字節(jié)。
(bool) USCI_B_I2C_masterSendMultiByteStopWithTimeout (uint16_t baseAddress, uint32_ttimeout);在多字節(jié)傳輸結(jié)束時(shí)用超時(shí)將停止字節(jié)從主機(jī)發(fā)送到從機(jī)。
USCI_B_I2C_masterReceiveMultiByteStart (uint16_t baseAddress);在主端開始多字節(jié)接收
(數(shù)值)USCI_B_I2C_masterReceiveMultiByteNext (uint16_t baseAddress);在主端一次啟動(dòng)一個(gè)字節(jié)的多字節(jié)接收。
(數(shù)值)USCI_B_I2C_masterReceiveMultiByteFinish (uint16_t baseAddress);在主端完成多字節(jié)接收
(bool) USCI_B_I2C_masterReceiveMultiByteFinishWithTimeout (uint16_t baseAddress,uint8_t ∗rxData, uint32_t timeout);在主端用超時(shí)完成多字節(jié)接收
USCI_B_I2C_masterReceiveMultiByteStop (uint16_t baseAddress);在主端的多字節(jié)接收結(jié)束時(shí)發(fā)送停止。
USCI_B_I2C_masterReceiveSingleStart (uint16_t baseAddress);在主端啟動(dòng)一個(gè)單字節(jié)接收。
(bool) USCI_B_I2C_masterReceiveSingleStartWithTimeout (uint16_t baseAddress, uint32_ttimeout);在主端用超時(shí)啟動(dòng)單個(gè)字節(jié)接收。
(數(shù)值)USCI_B_I2C_masterReceiveSingle (uint16_t baseAddress);接收一個(gè)已經(jīng)發(fā)送到 i2c 主模塊的字節(jié)。
(數(shù)值)uint32_t USCI_B_I2C_getReceiveBufferAddressForDMA (uint16_t baseAddress);在DMA模式下獲取rx的緩沖區(qū)地址
(數(shù)值)USCI_B_I2C_getTransmitBufferAddressForDMA (uint16_t baseAddress);在DMA模式下獲取tx的緩沖區(qū)地址。
|
評(píng)分
-
查看全部評(píng)分
|