Sensirion 的传感器在很多产品能见到,比如小米的温度计,本人通过软件 I2C 实现了其驱动,当然,只是部分功能,因为该传感器有不同模式,因为懒所以没写。
该驱动通过 macro 来定义 GPIO 操作,方便快速移植。
修改下面四个 marco 即可:
#define SW_I2C_Delay() Delay_us(5)
#define SW_I2C_SCL_WriteBit(BitVal) GPIO_WriteBit(SW_I2C_GPIOx, SW_I2C_SCL_PIN, (BitAction)BitVal)
#define SW_I2C_SDA_WriteBit(BitVal) GPIO_WriteBit(SW_I2C_GPIOx, SW_I2C_SDA_PIN, (BitAction)BitVal)
#define SW_I2C_SDA_ReadBit() GPIO_ReadInputDataBit(SW_I2C_GPIOx, SW_I2C_SDA_PIN)
离线