函数:
//生成起始条件
void I2C_GenerateSTART(I2C_TypeDef* I2Cx, FunctionalState NewState);
//生成终止条件
void I2C_GenerateSTOP(I2C_TypeDef* I2Cx, FunctionalState NewState);
//在收到一个字节后是否给从机应答
void I2C_AcknowledgeConfig(I2C_TypeDef* I2Cx, FunctionalState NewState);
//把Data这个数据,直接写到DR寄存器
void I2C_SendData(I2C_TypeDef* I2Cx, uint8_t Data);
//读取DR的数据,作为返回值。收到一个字节,由移位寄存器转到数据寄存器
uint8_t I2C_ReceiveData(I2C_TypeDef* I2Cx);
//发送7位地址的专用函数
void I2C_Send7bitAddress(I2C_TypeDef* I2Cx, uint8_t Address, uint8_t I2C_Direction);
//基本状态监控。同时判断一个或多个标志位
I2C_CheckEvent();
//基于标志位的状态监控
I2C_GetFlagStatus();
//高级状态监控。了解即可
I2C_GetLastEvent();
FlagStatus I2C_GetFlagStatus(I2C_TypeDef* I2Cx, uint32_t I2C_FLAG);
void I2C_ClearFlag(I2C_TypeDef* I2Cx, uint32_t I2C_FLAG);
ITStatus I2C_GetITStatus(I2C_TypeDef* I2Cx, uint32_t I2C_IT);
void I2C_ClearITPendingBit(I2C_TypeDef* I2Cx, uint32_t I2C_IT);