找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 733|回復(fù): 0
收起左側(cè)

430單片機(jī)函數(shù)庫1

[復(fù)制鏈接]
ID:1127529 發(fā)表于 2024-6-29 12:07 | 顯示全部樓層 |閱讀模式
調(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)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表