#ifndef __IIC_H #define __IIC_H #include "main.h" /* Software I2C pins: PA12=SDA, PA11=SCL */ #define SDA_GPIO_Port GPIOB #define SDA_Pin GPIO_PIN_4 #define SCL_GPIO_Port GPIOB #define SCL_Pin GPIO_PIN_5 #define READ_SDA HAL_GPIO_ReadPin(SDA_GPIO_Port, SDA_Pin) #define IIC_SDA_OUT(x) HAL_GPIO_WritePin(SDA_GPIO_Port, SDA_Pin, (GPIO_PinState)(x)) #define IIC_SCL_H HAL_GPIO_WritePin(SCL_GPIO_Port, SCL_Pin, GPIO_PIN_SET) #define IIC_SDA_H HAL_GPIO_WritePin(SDA_GPIO_Port, SDA_Pin, GPIO_PIN_SET) #define IIC_SCL_L HAL_GPIO_WritePin(SCL_GPIO_Port, SCL_Pin, GPIO_PIN_RESET) #define IIC_SDA_L HAL_GPIO_WritePin(SDA_GPIO_Port, SDA_Pin, GPIO_PIN_RESET) void iicInit(void); void iicStart(void); void iicStop(void); uint8_t iicWaitAck(void); void iicSendByte(uint8_t txd); uint8_t iicSendByteAck(uint8_t txd); unsigned char iicReadByte(uint8_t ack); #endif