/* 第1個參數為I2C操作句柄
第2個參數為從機設備地址
第3個參數為從機寄存器地址
第4個參數為從機寄存器地址長度
第5個參數為發送的數據的起始地址
第6個參數為傳輸數據的大小
第7個參數為操作超時時間 */
HAL_I2C_Mem_Write(&hi2c2,salve_add,0,0,PA_BUFF,sizeof(PA_BUFF),0x10);
HAL_I2C_Mem_Write_IT();
HAL_I2C_Mem_Read();
HAL_I2C_Mem_Read_IT();
HAL_I2C_Mem_Read_DMA();
HAL_I2C_Mem_Write_DMA();
HAL_I2C_Master_Receive();// STM32 主機接收,不需要用到寄存器地址
HAL_I2C_Master_Receive_IT();//中斷IIC接收
HAL_I2C_Master_Receive_DMA();// DMA 方式的IIC接收
HAL_I2C_Master_Transmit_IT(); //中斷IIC發送
HAL_I2C_Master_Transmit_DMA(); // DMA 方式的IIC發送
HAL_I2C_Master_Transmit(&hi2c2,salve_add,PA_BUFF,sizeof(PA_BUFF),0x10); //STM32 主機發送
HAL_I2C_Slave_Receive();// STM32 從機機接收,不需要用到寄存器地址
HAL_I2C_Slave_Transmit();// STM32 從機機發送,不需要用到寄存器地址
HAL_I2C_Slave_Receive_IT();
HAL_I2C_Slave_Receive_DMA();
HAL_I2C_Slave_Transmit_IT();
HAL_I2C_Slave_Transmit_DMA();
舉個調用 HAL_I2C_Mem_Write()函數讀取16個字節的使用例子
HAL_I2C_Mem_Read(&hi2c2,U9_Save_Read_Add,ADC_Result_Add,I2C_MEMADD_SIZE_8BIT,Read_buff,2,0xff);
再舉一個 HAL_I2C_Mem_Read( ) 函數寫16個字節的使用例子
uint8_t Configuration_config[2]={0x09,0xc0};
//設置U9的Configuration寄存器為 0x09 0xc0
HAL_I2C_Mem_Write(&hi2c2,U9_Save_Write_Add,ADC_Configuration_Add,I2C_MEMADD_SIZE_8BIT,Configuration_config,2,0xff);
上一篇:STM32 搶占優先級和響應優先級
下一篇:STM32 關于HAL庫硬件SPI要注意的問題總結
推薦閱讀最新更新時間:2025-05-31 22:10


設計資源 培訓 開發板 精華推薦
- 使用 Analog Devices 的 LTC4162IUFD-LAD 的參考設計
- AD8531ARZ-REEL 高輸出電流基準/穩壓器的典型應用
- [未驗證]2通道 24位差分ADC模塊-CS1238
- LTC3859A 演示板、低 IQ、三路輸出、降壓/降壓/升壓同步控制器
- 使用 Analog Devices 的 LTC1867LCGN 的參考設計
- EDA實驗四
- 使用 ROHM Semiconductor 的 BA90BC0WT-V5 的參考設計
- 使用符合 EN55022 B 類(24Vin 和 48Vin,雙輸出)EMC 濾波的 RP40-2415DFR DC/DC 轉換器的典型應用
- 使用 Diodes Incorporated 的 ZR78L057 的參考設計
- NCP6151 雙輸出 4 相 +1/0 相控制器的典型應用,具有單 SVID 接口,適用于臺式機和筆記本 CPU 應用