46 lines
1.5 KiB
C
Executable File
46 lines
1.5 KiB
C
Executable File
#ifndef __SoftI2C_h__
|
|
#define __SoftI2C_h__
|
|
|
|
//IIC端口定义
|
|
#ifndef HIGH
|
|
#define HIGH 1 // HIGH
|
|
#define LOW 0 // LOW
|
|
#endif
|
|
|
|
#ifndef WR
|
|
#define WR 0 // WRITE
|
|
#define RD 1 // READ
|
|
#endif
|
|
/*******************************************************************************/
|
|
#define SDA_IN() EnableInput(I2C_SDA_GPIO, I2C_SDA_PINPOS);EnablePullUp(I2C_SDA_GPIO,I2C_SDA_PINPOS) //输入并下拉
|
|
#define SDA_OUT() EnableOutput(I2C_SDA_GPIO, I2C_SDA_PINPOS)
|
|
#define SET_SDA() SET_PIN(I2C_SDA_GPIO, I2C_SDA)
|
|
#define CLR_SDA() CLR_PIN(I2C_SDA_GPIO, I2C_SDA)
|
|
#define READ_SDA() READ_PIN(I2C_SDA_GPIO, I2C_SDA)
|
|
|
|
#define SCL_OUT() EnableOutput(I2C_SCL_GPIO, I2C_SCL_PINPOS)
|
|
#define SET_SCL() SET_PIN(I2C_SCL_GPIO, I2C_SCL)
|
|
#define CLR_SCL() CLR_PIN(I2C_SCL_GPIO, I2C_SCL)
|
|
/*******************************************************************************/
|
|
|
|
//#define SDA_IN() {I2C_GPIO->MODER &=~(3<<(7*2)); I2C_GPIO->MODER |=0<<7*2;} //PA12输入模式
|
|
//#define SDA_OUT() {I2C_GPIO->MODER &=~(3<<(7*2)); I2C_GPIO->MODER |=1<<7*2;} //PA12输出模式
|
|
|
|
#define ENABLE_I2C_DELAY 0
|
|
#define SI2C_Delay() __NOP();
|
|
|
|
//void I2C_Delay(void);H
|
|
void SI2C_Init(void);
|
|
void SI2C_Start(void);
|
|
void SI2C_Stop(void);
|
|
void SI2C_Ack(void);
|
|
void SI2C_NoAck(void);
|
|
|
|
u8 SI2C_TestAck(void);
|
|
u8 SI2C_Write(u8 writeData);
|
|
u8 SI2C_Read(void);
|
|
|
|
#endif
|
|
|
|
|