HAL庫里有很多的IIC的庫函數,比如
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)等
這些函數參數需要使用發送的器件地址,數據地址和數據長度。具體的器件地址需要查詢數據手冊。很多原理圖會標記出器件的地址(七位地址),如果不看手冊,直接使用此地址進行讀寫的話往往是不行的。
這里的地址一般使用的是八位地址,IIC的器件手冊給的一般是七位地址比如下兩個圖的A2A1A0如果全都為0,七位地址就是1110000=0x70;
但是根據讀寫要將此地址左移一位,然后最低位賦值0或者1。此例子中,讀地址為11100001=0xE1;
寫地址為11100000=0xE0。使用庫函數的時候要使用這兩個地址,不要直接使用0x70這個地址。
以此地址為例可以進行如下讀寫。
寫:
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
+關注
關注
2272文章
10923瀏覽量
357570 -
IIC
+關注
關注
11文章
302瀏覽量
38504 -
庫函數
+關注
關注
0文章
177瀏覽量
34018 -
HAL庫
+關注
關注
1文章
121瀏覽量
6382
發布評論請先 登錄
相關推薦
STM32庫函數—點燈實驗_實驗三
概述:
從最簡單的“點燈”實驗入手,涉及到STM32的最基礎最簡單的操作。
實驗目的:
本實驗的目的很簡單,就是讓LED亮起來,并閃爍。
通過實驗了解STM32固件函數庫的使用方法。
本實驗用到以下4個
發表于 02-22 15:45
?11次下載
基于標準庫函數與基于HAL庫函數的stm32編程方式對比
以實例程序(串口通信),分析基于標準庫函數與基于HAL庫函數的stm32編程方式的差異一、基于標準庫函數的stm32編程方式二、基于HAL
發表于 12-28 19:09
?30次下載
STM32庫函數開發-GPIO
2021-01-11 學習日志STM32f1庫函數開發學習實戰一 · I/O口1. 文件夾結構2. 配置細節 · 從寄存器到庫函數3. 跑馬燈4. 按鍵輸入STM32f1
發表于 01-13 16:17
?14次下載
STM32F103使用(3.5)庫函數新建工程
意法半導體的STM32系列都支持庫函數編程,庫函數比常規的寄存器方式編程更加好移植,特別是項目需要在幾個系列芯片上移植,使用庫函數編程,底層的配置都不用改。而業務邏輯本身就是通用的,所
CH32和stm32的庫函數一樣嗎?
CH32和stm32的庫函數一樣嗎? STM32是ST公司推出的一款32位微控制器,其擁有強大的性能及豐富的外設功能,實現了嵌入式應用的功能。而在STM32的開發中,
評論