📄 drivereeprom.h.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 + -