#ifndef __i2c_H__ #define __i2c_H__ #ifdef __cplusplus extern "C" { #endif #include "stm32f1xx_hal.h" //imu-iic #define SCL_H GPIOB->BSRR = GPIO_PIN_8 #define SCL_L GPIOB->BRR = GPIO_PIN_8 #define SDA_H GPIOB->BSRR = GPIO_PIN_9 #define SDA_L GPIOB->BRR = GPIO_PIN_9 #define SCL_read GPIOB->IDR & GPIO_PIN_8 #define SDA_read GPIOB->IDR & GPIO_PIN_9 //³¬Ιω²¨-iic #define HC_SCL_H GPIOB->BSRR = GPIO_PIN_1 #define HC_SCL_L GPIOB->BRR = GPIO_PIN_1 #define HC_SDA_H GPIOB->BSRR = GPIO_PIN_0 #define HC_SDA_L GPIOB->BRR = GPIO_PIN_0 #define HC_SCL_read GPIOB->IDR & GPIO_PIN_1 #define HC_SDA_read GPIOB->IDR & GPIO_PIN_0 /*********************************************************************************************************************/ void HC_I2C_Init(void); void HC_I2C_Write(void); int HC_I2C_Read(void); void PB_I2C_Init(void); int PB_I2C_Write_Byte(uint8_t addr, uint8_t reg, uint8_t data); int PB_I2C_Write_Buf(uint8_t addr, uint8_t reg, uint8_t *data, uint8_t size); int PB_I2C_Read_Byte(uint8_t addr, uint8_t reg, uint8_t* data); int PB_I2C_Read_Buf(uint8_t addr,uint8_t reg, uint8_t* data, uint8_t size); #ifdef __cplusplus } #endif #endif //__i2c_H__