#ifndef __IIC2_H__ #define __IIC2_H__ #include "gd32f10x.h" //IIC1 //#define IIC2_WP_PORT GPIOE //#define IIC2_WP_PIN GPIO_PIN_14 #define IIC2_SDA_PORT GPIOB #define IIC2_SDA_PIN GPIO_PIN_11 #define IIC2_SCL_PORT GPIOB #define IIC2_SCL_PIN GPIO_PIN_10 #define IIC2_SDA_IN() {GPIO_CTL1(GPIOB) &= 0xFFFF0FFF;GPIO_CTL1(GPIOB) |= (0x00000008<<(4*3));} //PB11 输入模式 #define IIC2_SDA_OUT() {GPIO_CTL1(GPIOB) &= 0xFFFF0FFF;GPIO_CTL1(GPIOB) |= (0x00000007<<(4*3));} //PB11 输出模式,开漏输出 #define IIC2_SCL(n) (n?gpio_bit_set(IIC2_SCL_PORT, IIC2_SCL_PIN):gpio_bit_reset(IIC2_SCL_PORT, IIC2_SCL_PIN)) #define IIC2_SDA(n) (n?gpio_bit_set(IIC2_SDA_PORT, IIC2_SDA_PIN):gpio_bit_reset(IIC2_SDA_PORT, IIC2_SDA_PIN)) //#define IIC2_SCL_HIGH gpio_bit_set(IIC2_SCL_PORT, IIC2_SCL_PIN) //#define IIC2_SCL_LOW gpio_bit_reset(IIC2_SCL_PORT, IIC2_SCL_PIN) //#define IIC2_SDA_HIGH gpio_bit_set(IIC2_SDA_PORT, IIC2_SDA_PIN) //#define IIC2_SDA_LOW gpio_bit_reset(IIC2_SDA_PORT, IIC2_SDA_PIN) #define IIC2_READ_SDA gpio_input_bit_get(IIC2_SDA_PORT, IIC2_SDA_PIN) //输入SDA void iic2_init(void); void IIC2_Start(void); void IIC2_Stop(void); u8 IIC2_Wait_Ack(void); void IIC2_Ack(void); void IIC2_NAck(void); void IIC2_Send_Byte(u8 txd); u8 IIC2_Read_Byte(u8 ack); float Temp_test(void); #endif