LPC2478通过I2C对AT24C04(EEPROM)进行读写
来源:互联网 发布:利用网络犯罪法规 编辑:程序博客网 时间:2024/06/04 19:17
在测试掉电保存模块式,,在网上找不到具体的关于LPC2478通过I2C对AT24C04(EEPROM)进行读写操作的程序,后来参考了以前编写的程序,在经过调试后整理了函数模块。
下面说说在测试中遇到的问题:由于我们的原理图不是很正确,导致调试了很久,,所以仔细很重要。如下是我们的原理图如图1,一开始功能一直没实现,后来参考网上的I2C总线配置图2,发现没有上拉电阻配置错误,,更换后ok。
图1 图2
下面附上基于LPC2478的BOD模块和IIC模块。
BOD初始化函数:
void BOD_Init( BOD_Config_Type* pConfig,int State1,int State2,int State3 )
{
pConfig->Enabled = State1;
pConfig->PowerReduced = State2;
pConfig->ResetOnVoltageDown = State3;
/* Turn on/off BOD. */
if(pConfig->Enabled == DISABLE)
{
PCON |= BOD_PCON_BOGD;
return;
}
PCON &= ~BOD_PCON_BOGD;
/* Brown-Out Reduced Power Mode */
if(pConfig->PowerReduced == ENABLE)
{
PCON |= BOD_PCON_BODRPM;
}
else
{
PCON &= ~BOD_PCON_BODRPM;
}
/* Brown-Out Reset */
if(pConfig->ResetOnVoltageDown == DISABLE)
{
PCON |= BOD_PCON_BORD;
}
else
{
PCON &= ~BOD_PCON_BORD;
}
/* Enable the BOD Interrupt */
install_irq(BOD_INT, (void *)BOD_IRQHandler, HIGHEST_PRIORITY );
// NVIC_EnableIRQ(BOD_IRQn);
return;
}
.h文件
typedef struct
{
char Enabled; /**< Enable BOD Circuit */
char PowerReduced;/**< if ENABLE, BOD will be turned off in Power-down mode or Deep Sleep mode */
/**< So, BOD can't be used to wake-up from these mode. */
char ResetOnVoltageDown;/**< if ENABLE, reset the device when the VDD(REG)(3V3) voltage < the BOD reset trip level */
}BOD_Config_Type;
初始化函数中的结构体定义。
关于IIC总线的配置以及对于AT24C04(EEPROM)中数据的读取和写入见上传的资料。
- LPC2478通过I2C对AT24C04(EEPROM)进行读写
- S3C2440 Linux下的I2C驱动以及I2C体系下对EEPROM进行读写操作。
- linux下通过i2c总线读写EEPROM
- Linux i2c驱动(eeprom 读写)
- Linux i2c驱动(eeprom 读写)
- linux I2C读写EEPROM
- EEPROM通过IIC协议进行读写操作
- STM32F10x_模拟I2C读写EEPROM
- STM32F10x_模拟I2C读写EEPROM
- stm32_GPIO模拟I2c读写EEPROM
- STM32F10x_模拟I2C读写EEPROM
- STM32系统学习——I2C (读写EEPROM)
- Linux下使用I2C总线读写 EEPROM(读写i2c从设备通用程序)
- Linux下使用I2C总线读写 EEPROM(读写i2c从设备通用程序)
- Linux下使用I2C总线读写 EEPROM(读写i2c从设备通用程序)
- Linux下使用I2C总线读写 EEPROM(读写i2c从设备通用程序)
- LPC2294对片外EEPROM(24C04)进行读写操作,如何确定24C02EEPROM地址
- 单片机模拟I2C总线及24C02(I2C EEPROM)读写实例(源代码)
- 短板理论分析:互联网创业成功的七个必要条件
- ArcGIS教程:大型数据集的分块处理
- 2004 成绩转换
- XMemcached和spring缓存框架集成
- 回车与换行的区别
- LPC2478通过I2C对AT24C04(EEPROM)进行读写
- 漫游Kafka设计篇之消息传输的事务定义
- JS Call()与Apply()
- 2005 第几天?
- HDU 1258:Sum It Up
- SpringMV框架 使用hibernate做持久层
- 向SD卡写入数据
- QT时间设置
- express框架安装(node.js)