2016-08-10 23:43:20 +08:00
|
|
|
|
2016-11-20 16:05:16 +08:00
|
|
|
#ifndef I2C_H
|
|
|
|
#define I2C_H
|
2016-08-10 23:43:20 +08:00
|
|
|
|
|
|
|
|
2016-09-24 21:31:38 +08:00
|
|
|
#define SCL_PINNUM 15
|
2016-11-29 16:03:17 +08:00
|
|
|
#define SDA_PINNUM 14
|
2016-09-24 21:31:38 +08:00
|
|
|
#define SCL BIT_ADDR((GPIOB_BASE+12), SCL_PINNUM)
|
|
|
|
#define SDA BIT_ADDR((GPIOB_BASE+12), SDA_PINNUM)
|
|
|
|
//#define AD0 BIT_ADDR((GPIOC_BASE+12), 6)
|
2016-08-10 23:43:20 +08:00
|
|
|
|
|
|
|
|
|
|
|
#define GPIOB_IDR_Addr (GPIOB_BASE + 8)
|
2016-09-24 21:31:38 +08:00
|
|
|
#define READ_SDA BIT_ADDR(GPIOB_IDR_Addr, SDA_PINNUM)
|
2016-08-10 23:43:20 +08:00
|
|
|
|
|
|
|
#define IIC_DELAY() {delay_us(1);}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void delay_us(volatile unsigned int nus);
|
|
|
|
|
|
|
|
void IIC_init();
|
|
|
|
void IIC_Start();
|
|
|
|
void IIC_Stop();
|
|
|
|
void IIC_Ack(unsigned char ack);
|
|
|
|
unsigned char IIC_Wait_Ack();
|
|
|
|
void IIC_Send(unsigned char dat);
|
|
|
|
|
|
|
|
unsigned char IIC_Read();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|