HAL庫(kù)里有很多的IIC的庫(kù)函數(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ù)長(zhǎng)度。具體的器件地址需要查詢(xún)數(shù)據(jù)手冊(cè)。很多原理圖會(huì)標(biāo)記出器件的地址(七位地址),如果不看手冊(cè),直接使用此地址進(jìn)行讀寫(xiě)的話(huà)往往是不行的。
這里的地址一般使用的是八位地址,IIC的器件手冊(cè)給的一般是七位地址比如下兩個(gè)圖的A2A1A0如果全都為0,七位地址就是1110000=0x70;


但是根據(jù)讀寫(xiě)要將此地址左移一位,然后最低位賦值0或者1。此例子中,讀地址為11100001=0xE1;
寫(xiě)地址為11100000=0xE0。使用庫(kù)函數(shù)的時(shí)候要使用這兩個(gè)地址,不要直接使用0x70這個(gè)地址。
以此地址為例可以進(jìn)行如下讀寫(xiě)。
寫(xiě):
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)
{
;
}
-
STM32
+關(guān)注
關(guān)注
2309文章
11162瀏覽量
373413 -
IIC
+關(guān)注
關(guān)注
11文章
309瀏覽量
40632 -
庫(kù)函數(shù)
+關(guān)注
關(guān)注
0文章
177瀏覽量
35123 -
HAL庫(kù)
+關(guān)注
關(guān)注
1文章
121瀏覽量
7629
發(fā)布評(píng)論請(qǐng)先 登錄
STM32庫(kù)函數(shù)—點(diǎn)燈實(shí)驗(yàn)_實(shí)驗(yàn)三
stm32庫(kù)函數(shù)解釋
STM32庫(kù)函數(shù)代碼自動(dòng)生成器V1.2
STM32庫(kù)函數(shù)代碼自動(dòng)生成器正式版
STM32庫(kù)函數(shù)代碼自動(dòng)生成器正式版
STM32F10X庫(kù)函數(shù)合集免費(fèi)下載
STM32 IAR的庫(kù)函數(shù)資料免費(fèi)下載
STM32的標(biāo)準(zhǔn)例程庫(kù)函數(shù)資料合集免費(fèi)下載
stm32下標(biāo)準(zhǔn)庫(kù)函數(shù)與HAL庫(kù)函數(shù)編程方式的差異
基于標(biāo)準(zhǔn)庫(kù)函數(shù)與基于HAL庫(kù)函數(shù)的stm32編程方式對(duì)比
STM32庫(kù)函數(shù)開(kāi)發(fā)-GPIO
STM32F103使用(3.5)庫(kù)函數(shù)新建工程
STM32的IIC庫(kù)函數(shù)使用誤區(qū)
評(píng)論