| 1234567891011121314151617181920212223242526272829303132333435363738 |
- #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
|