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

📄 drivereeprom.h.keep

📁 飞利浦公司lpc213x硬件中断方式I2C程序
💻 KEEP
字号:
/*
* Copyright (c) 2005,深圳国人通信网优中心软件开发部
* All rights reserved.
* 
* 文件名:DriverEeprom.h
*
* 版本号:V1.0
*
* 创建日期:2006年3月20日
*
* 摘  要:主要实现对24c16的读写功能,主程序要配置好I2C总线
*          接口(I2C引脚功能和I2C中断,并已使能I2C主模式)
*
* 作  者:段斌
* 
*
* 修改人:
*
* 修改日期:
*
* 修改摘要:
*/

#ifndef __DRIVER_EEPROM_H__
#define __DRIVER_EEPROM_H__

#include "..\..\..\..\main\mainProcess\include\struct.h"
#include "..\..\..\..\main\mainProcess\include\Global.h"
#include "..\..\..\main\init\include\initSys.h"
#include "LPC2294.h"
#include "config.h"
/* ----------------------- Macros Declarations ---------------------------*/

//sbit SDA=P1^4;
//sbit SCL=P1^3;


#ifdef EEPROM_GLOBE
#define EEPROM_EXTERN
#else 
#define EEPROM_EXTERN extern
#endif

#define	ONE_BYTE_SUBA	1
#define TWO_BYTE_SUBA	2
#define X_ADD_8_SUBA	3


// 定义用于和I2C中断传递信息的全局变量 
EEPROM_EXTERN volatile UCHAR8 	I2C_sla;				// I2C器件从地址 
EEPROM_EXTERN volatile UINT32		I2C_suba;				// I2C器件内部子地址 
EEPROM_EXTERN volatile UCHAR8 	I2C_suba_num;		// I2C子地址字节数
EEPROM_EXTERN volatile UCHAR8 	*I2C_buf;       // 数据缓冲区指针 
EEPROM_EXTERN volatile UINT32 	I2C_num;				// 要读取/写入的数据个数
EEPROM_EXTERN volatile UCHAR8 	I2C_end;				// I2C总线结束标志:结束总线是置1
EEPROM_EXTERN volatile UCHAR8 	I2C_suba_en;		// 子地址控制。
																						//0--子地址已经处理或者不需要子地址
																						//1--读取操作
																						//2--写操作
									
EEPROM_EXTERN void I2cInit(UINT32 u32_Fi2c);
EEPROM_EXTERN UCHAR8 IRcvByte(UCHAR8 sla, UCHAR8 *dat);
EEPROM_EXTERN UCHAR8 ISendByte(UCHAR8 sla, UCHAR8 dat);
EEPROM_EXTERN UCHAR8 I2C_ReadNByte (UCHAR8 sla, UINT32 suba_type, UINT32 suba, UCHAR8 *s, UINT32 num);
EEPROM_EXTERN UCHAR8 I2C_WriteNByte(UCHAR8 sla, UCHAR8 suba_type, UINT32 suba, UCHAR8 *s, UINT32 num);
EEPROM_EXTERN void __irq IRQ_I2C0(void);








#define WRITE 0xa0;									/*0xa0既是0b 1010 0000,其中1010代表芯片类型,000代表写入的页号
																		  最低位为0代表操作方式为写数据*/
#define READ	0xa1;									/*0xa1既是0b 1010 0001,其中1010代表芯片类型,000代表写入的页号
																		  最低位为1代表操作方式为读数据*/
#endif
/*--------------------------------End--------------------------------*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -