资源简介
自己写的eeprom驱动函数。包含了字节写,读,页写,多页写,连续读函数。已调试通过 只要更改宏定义即可使用

代码片段和文件信息
/*******************************************************************************
** 文件名称:eeprom.c
** 功 能:
** 修改日志:
********************************************************************************/
#include “includes.h“
/*******************************************************************************
** 函数名称:void I2cInit(void)
** 功 能: 将总线拉高以释放总线
** 修改日志:
*******************************************************************************/
void I2cInit(void)
{
SCL_DIR_OUTPUT;
SDA_DIR_OUTPUT;
SCL_OUT_HIGH;
delay_us(10);
SDA_OUT_HIGH;
delay_us(10);
}
/*******************************************************************************
** 函数名称:void I2cStart(void)
** 功 能: SCL在高电平期间,SDA一个下降沿启动信号
** 修改日志:
*******************************************************************************/
void I2cStart(void)
{
SCL_DIR_OUTPUT;
SDA_DIR_OUTPUT;
SDA_OUT_HIGH;
delay_us(10);
SCL_OUT_HIGH;
delay_us(10);
SDA_OUT_LOW;
delay_us(10);
}
/*******************************************************************************
** 函数名称:void I2cStop(void)
** 功 能: SCL在高电平期间,SDA一个上升沿停止信号
** 修改日志:
*******************************************************************************/
void I2cStop(void)
{
SDA_DIR_OUTPUT;
SDA_OUT_LOW;
delay_us(10);
SCL_OUT_HIGH;
delay_us(10);
SDA_OUT_HIGH;
delay_us(10);
}
/*******************************************************************************
** 函数名称:void I2cAck_Eeprom()
** 功 能: SCL在高电平期间,SDA被从设备拉为低电平表示应答 Eeprom应答
** 修改日志:
*******************************************************************************/
void I2cAck_Eeprom(void)
{
uchar i =0;
SDA_DIR_INPUT;
SCL_OUT_HIGH;
delay_us(10);
while(SDA_READ&&(i<255)) i++;
SCL_OUT_LOW;
delay_us(10);
}
/*******************************************************************************
** 函数名称:void I2cAck_Cpu()
** 功 能: SCL在高电平期间,SDA输出低电平表示应答 CPU应答
** 修改日志:
*******************************************************************************/
void I2cAck_Cpu(void)
{
SCL_OUT_HIGH;
delay_us(10);
SDA_DIR_OUTPUT;
SDA_OUT_LOW;
delay_us(10);
SDA_OUT_HIGH;
SCL_OUT_LOW;
}
/*******************************************************************************
** 函数名称:void I2cWriteByte(unsigned char wbyte)
** 功 能:
** 修改日志:
*******************************************************************************/
void I2cWriteByte(unsigned char wbyte)
{
SDA_DIR_OUTPUT;
for(unsigned char i=0; i<8; i++){
SCL_OUT_LOW;
delay_us(10);
if(wbyte & 0x80){
SDA_OUT_HIGH;
}
else{
SDA_OUT_LOW;
}
wbyte <<=1;
SCL_OUT_HIGH;
delay_us(10);
}
SCL_OUT_LOW;
delay_us(10);
SDA_OUT_HIGH;
delay_us(10);
}
/*******************************************************************************
** 函数名称:unsigned
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 7820 2013-12-12 11:21 eeprom.c
文件 1607 2013-12-12 11:17 eeprom.h
----------- --------- ---------- ----- ----
9427 2
- 上一篇:新大话西游经典系列源代码
- 下一篇:at24c512 驱动程序
相关资源
- proteus_24C08—有注释(proteus里面使用的
- 课程设计蔬菜大棚自动控制系统,包
- 用PIC16F877实现EEPROM读写程序
- ADAMS 驱动函数
- PLX eeprom
- I2C串行EEPROM应用系统的健壮性设计
- Atheros EEPROM Tool
- STM32硬件IIC主机例程以读写EEPROM为例
- 读写ds18b20内部eeprom
- stm32f103iic读取AT24XX全系eeprom
- ft232rleeprom编程工具
- fpga与eeprom通信
- stc15f104 单片机实现EEPROM的读写复制测
- 里程表 STM32+霍尔传感器+EEPROM+LCD+DHT
- RT3070 EEPROM 修改工具
- STM32 FLASH模拟EEPROM
- 基于FPGA的EEPROM读写系统
- 用stm32硬件I2C和模拟I2C读写EEPROM
- okC8T6--FLASH模拟EEPROM.zip
- AT24C512中文资料集
- STM32的串行EEPROM读写例程,亲测能用
- STM8S003工程模版
- 基于STM32的甲醛测试仪源代码,包含了
- MProg-Multi Device EEPROM
- eeupdate 各个平台 2020新版
- 基于EEPROM的FAT16文件系统原创
- 51单片机实现电子闹钟1602+DS18B20+EEPR
- FT232 2232系列EEPROM内容更改工具
- at24c512 驱动程序
- PIC16F1829 DATA EEPROM 读写操作
评论
共有 条评论