⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 24c02.h

📁 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 + -