加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

STM32的IIC庫函數(shù)使用誤區(qū)注意

2023/10/17
2891
閱讀需 4 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

HAL庫里有很多的IIC的庫函數(shù),比如

HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout)HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout)HAL_I2C_Master_Transmit_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size)HAL_I2C_Master_Receive_IT(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size);HAL_I2C_Master_Transmit_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size);HAL_I2C_Master_Receive_DMA(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size)等

這些函數(shù)參數(shù)需要使用發(fā)送的器件地址,數(shù)據(jù)地址和數(shù)據(jù)長度。具體的器件地址需要查詢數(shù)據(jù)手冊。很多原理圖會標(biāo)記出器件的地址(七位地址),如果不看手冊,直接使用此地址進(jìn)行讀寫的話往往是不行的。

這里的地址一般使用的是八位地址,IIC的器件手冊給的一般是七位地址比如下兩個圖的A2A1A0如果全都為0,七位地址就是1110000=0x70;

但是根據(jù)讀寫要將此地址左移一位,然后最低位賦值0或者1。此例子中,讀地址為11100001=0xE1;

寫地址為11100000=0xE0。使用庫函數(shù)的時候要使用這兩個地址,不要直接使用0x70這個地址。

以此地址為例可以進(jìn)行如下讀寫。

寫:HAL_I2C_Master_Transmit_IT(&hi2c1,0xE0, Pointer_Register,1);while (HAL_I2C_GetState(&hi2c1) != HAL_I2C_STATE_READY){  ;}讀:HAL_I2C_Master_Receive_IT(&hi2c1, 0xE1, pData,1);while (HAL_I2C_GetState(&hi2c1) != HAL_I2C_STATE_READY){  ;}

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
PLR135/T5P 1 Everlight Electronics Co Ltd Receiver, 16Mbps, Panel Mount, ROHS COMPLIANT PACKAGE-3
$2.4 查看
FOD8012AR2 1 onsemi High CMR, Bi-Directional, Logic Gate Optocoupler, 2500-REEL

ECAD模型

下載ECAD模型
$6.97 查看
NC7S04M5X 1 onsemi TinyLogic HS Inverter, 3000-REEL

ECAD模型

下載ECAD模型
$0.33 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜