📄 24c02.h
字号:
#include "gpio.h"
#define WriteDeviceAddress 0xa0
#define ReadDviceAddress 0xa1
#define I2C_PORT_INDEX GPIO_PORT_INDEX // 定义I2C端口
#define I2C_PORT_DATA GPIO_PORT_DATA
#if 1
#define I2C_SEL GPIOA_SEL // 选择寄存器
#define I2C_CTL GPIOA_CTL // 控制寄存器
#define I2C_DAT GPIOA_DAT // 数据寄存器
#define I2C_SDA_H 0x01
#define I2C_SDA_L 0xfe
#define I2C_SCL_H 0x02
#define I2C_SCL_L 0xfd
#else
#define I2C_SEL GPIOC_SEL // 选择寄存器
#define I2C_CTL GPIOC_CTL // 控制寄存器
#define I2C_DAT GPIOC_DAT // 数据寄存器
#define I2C_SDA_H 0x80
#define I2C_SDA_L 0x7F
#define I2C_SCL_H 0x40
#define I2C_SCL_L 0xBF
#endif
#define SDA_L { \
gpioa &= I2C_SDA_L; \
outport(I2C_PORT_INDEX, I2C_DAT+(gpioa<<8)); \
}
#define SDA_H { \
gpioa |= I2C_SDA_H; \
outport(I2C_PORT_INDEX, I2C_DAT+(gpioa<<8)); \
}
#define SCL_L { \
gpioa &= I2C_SCL_L; \
outport(I2C_PORT_INDEX, I2C_DAT+(gpioa<<8)); \
}
#define SCL_H { \
gpioa |= I2C_SCL_H; \
outport(I2C_PORT_INDEX, I2C_DAT+(gpioa<<8)); \
}
#define I2C_SDA_AS_IN { \
outport(GPIO_PORT_INDEX, (0x0e<<8)+I2C_CTL); \
}
#define I2C_SDA_AS_INOUT { \
outport(GPIO_PORT_INDEX, (0x0f<<8)+I2C_CTL); \
}
#define nop() { asm { \
nop \
} \
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -