# STM32_HAL_Software_I2C **Repository Path**: snitro/stm32_hal_software_i2c ## Basic Information - **Project Name**: STM32_HAL_Software_I2C - **Description**: 基于HAL库实现软件I2C - **Primary Language**: C - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 0 - **Created**: 2021-02-22 - **Last Updated**: 2025-03-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # STM32_HAL_Software_I2C #### 介绍 基于HAL库实现软件I2C #### 安装教程 1. 配置CubeMX,注意事项见下部说明 2. 拷贝所有代码至项目下 3. ``` include "i2c.h" ``` 4. 修改 i2c.h 文件中配置 #### 使用说明 1. CubeMX中配置SCL与SDA管脚为开漏输出(Output Open Drain)模式,并上拉(Pull-up)。 ![配置GPIO](https://images.gitee.com/uploads/images/2021/0223/143426_8a0c39d0_7849136.jpeg "屏幕截图 2021-02-23 143402.jpg") 2. 修改 i2c.h 文件中第13、14行中的头文件为所用MCU型号 ``` #include "stm32f4xx_hal.h" #include "stm32f4xx_hal_gpio.h" ``` 3. 修改 i2c.h 文件中第16、17、18行中的宏定义至对应管脚 ``` #define SOFTWARE_I2C_GPIO_PORT GPIOB #define SOFTWARE_I2C_SCL_PIN GPIO_PIN_6 // SCL引脚 #define SOFTWARE_I2C_SDA_PIN GPIO_PIN_7 // SDA引脚 ```