I2C_Analog.h 798 B

123456789101112131415161718192021222324252627
  1. #ifndef __I2C_ANALOG_H
  2. #define __I2C_ANALOG_H
  3. #include "stm32f1xx_hal.h"
  4. #define DLY_US 20
  5. typedef struct
  6. {
  7. GPIO_TypeDef* SDA_GPIOx; //GPIOx
  8. uint16_t SDA_GPIO_Pin; //GPIO_PIN_x
  9. GPIO_TypeDef* SCL_GPIOx; //GPIOx
  10. uint16_t SCL_GPIO_Pin; //GPIO_PIN_x
  11. }I2C_Handle_Struct_t;
  12. void I2C_GPIO_Config(I2C_Handle_Struct_t* I2C_Handle);
  13. void Delay(uint32_t Tcount);
  14. void I2C_Start(I2C_Handle_Struct_t* I2C_Handle);
  15. void I2C_Stop(I2C_Handle_Struct_t* I2C_Handle);
  16. void I2C_Write_Byte(I2C_Handle_Struct_t* I2C_Handle, const uint8_t s);
  17. void I2C_Read_Byte(I2C_Handle_Struct_t* I2C_Handle, uint8_t *s);
  18. uint8_t I2C_Check_Ack(I2C_Handle_Struct_t* I2C_Handle);
  19. void I2C_Send_Ack(I2C_Handle_Struct_t* I2C_Handle);
  20. void I2C_Send_Nack(I2C_Handle_Struct_t* I2C_Handle);
  21. #endif /*__I2C_ANALOG_H */