/*
 * user_iic.h
 *
 *  Created on: 2023年4月19日
 *      Author: wyf
 */

#ifndef INC_USER_IIC_H_
#define INC_USER_IIC_H_


#include "user.h"

#define IIC_SCL_1()  	HAL_GPIO_WritePin(IIC_SCL_GPIO_Port, IIC_SCL_Pin, GPIO_PIN_SET)
#define IIC_SCL_0()		HAL_GPIO_WritePin(IIC_SCL_GPIO_Port, IIC_SCL_Pin, GPIO_PIN_RESET)

#define IIC_SDA_1()		HAL_GPIO_WritePin(IIC_SDA_GPIO_Port, IIC_SDA_Pin, GPIO_PIN_SET)
#define IIC_SDA_0()		HAL_GPIO_WritePin(IIC_SDA_GPIO_Port, IIC_SDA_Pin, GPIO_PIN_RESET)

#define READ_SDA()  	HAL_GPIO_ReadPin(IIC_SDA_GPIO_Port, IIC_SDA_Pin)



void IIC_Start(void);				//发送IIC开始信号
void IIC_Stop(void);	  			//发送IIC停止信号
void IIC_Send_Byte(uint8_t txd);			//IIC发送一个字节
uint8_t IIC_Read_Byte(unsigned char ack);//IIC读取一个字节
uint8_t IIC_Wait_Ack(void); 				//IIC等待ACK信号
void IIC_Ack(void);					//IIC发送ACK信号
void IIC_NAck(void);				//IIC不发送ACK信号




#endif /* INC_USER_IIC_H_ */