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ù)據地址和數(shù)據長度。具體的器件地址需要查詢數(shù)據手冊。很多原理圖會標記出器件的地址(七位地址),如果不看手冊,直接使用此地址進行讀寫的話往往是不行的。
這里的地址一般使用的是八位地址,IIC的器件手冊給的一般是七位地址比如下兩個圖的A2A1A0如果全都為0,七位地址就是1110000=0x70;
但是根據讀寫要將此地址左移一位,然后最低位賦值0或者1。此例子中,讀地址為11100001=0xE1;
寫地址為11100000=0xE0。使用庫函數(shù)的時候要使用這兩個地址,不要直接使用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)
{
;
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
STM32
+關注
關注
2290文章
11018瀏覽量
362674 -
IIC
+關注
關注
11文章
306瀏覽量
39228 -
庫函數(shù)
+關注
關注
0文章
177瀏覽量
34308 -
HAL庫
+關注
關注
1文章
121瀏覽量
6776
發(fā)布評論請先 登錄
相關推薦
熱點推薦
STM32庫函數(shù)—點燈實驗_實驗三
概述:
從最簡單的“點燈”實驗入手,涉及到STM32的最基礎最簡單的操作。
實驗目的:
本實驗的目的很簡單,就是讓LED亮起來,并閃爍。
通過實驗了解STM32固件函數(shù)庫的使用方法。
本實驗用到以下4個
發(fā)表于 02-22 15:45
?11次下載
STM32庫函數(shù)代碼自動生成器V1.2
stm32庫函數(shù)代碼自動生成器是STM32學習的小工具。
stm32庫函數(shù)代碼自動生成器可以根據你的配置生成相應的
發(fā)表于 06-17 17:55
?0次下載
stm32下標準庫函數(shù)與HAL庫函數(shù)編程方式的差異
stm32下標準庫函數(shù)與HAL庫函數(shù)編程方式的差異標準庫函數(shù)HAL庫函數(shù)標準庫函數(shù)與HAL
發(fā)表于 12-09 14:21
?15次下載

基于標準庫函數(shù)與基于HAL庫函數(shù)的stm32編程方式對比
以實例程序(串口通信),分析基于標準庫函數(shù)與基于HAL庫函數(shù)的stm32編程方式的差異一、基于標準庫函數(shù)的stm32編程方式二、基于HAL
發(fā)表于 12-28 19:09
?30次下載

STM32庫函數(shù)開發(fā)-GPIO
2021-01-11 學習日志STM32f1庫函數(shù)開發(fā)學習實戰(zhàn)一 · I/O口1. 文件夾結構2. 配置細節(jié) · 從寄存器到庫函數(shù)3. 跑馬燈4. 按鍵輸入STM32f1
發(fā)表于 01-13 16:17
?14次下載

STM32F103使用(3.5)庫函數(shù)新建工程
意法半導體的STM32系列都支持庫函數(shù)編程,庫函數(shù)比常規(guī)的寄存器方式編程更加好移植,特別是項目需要在幾個系列芯片上移植,使用庫函數(shù)編程,底層的配置都不用改。而業(yè)務邏輯本身就是通用的,所

CH32和stm32的庫函數(shù)一樣嗎?
CH32和stm32的庫函數(shù)一樣嗎? STM32是ST公司推出的一款32位微控制器,其擁有強大的性能及豐富的外設功能,實現(xiàn)了嵌入式應用的功能。而在STM32的開發(fā)中,
評論