初中生
最后登录1970-1-1
在线时间 小时
注册时间2013-10-28
|
楼主 |
发表于 2013-11-13 20:13:11
|
显示全部楼层
汪永洪 发表于 2013-11-13 19:43
哥,我将你的程序COPY上去试了下,结果只是LED1亮着,LED2,LED3没反应,好奇怪!你试试看!!
#include "stm32f10x.h"
#include "led.h"
#include "eeprom.h"
#define EEP_Firstpage 0x00
u8 I2c_Buf_Write[3];
u8 I2c_Buf_Read[3];
void Delay(__IO u32 nCount); //简单的延时函数
/*
*函数名:main
*描述:主函数
*输入:无
*输出:无
*/
int main(void)
{
LED_GPIO_Config();
I2C_EE_Init();
I2c_Buf_Read[0] =I2c_Buf_Read[1]=I2c_Buf_Read[2]=0;
//这样正常的话LED是会亮的
LED1(I2c_Buf_Read[0]);
LED2(I2c_Buf_Read[1]);
LED3(I2c_Buf_Read[2]);
I2C_EE_BufferRead(I2c_Buf_Read, EEP_Firstpage, 3);
//再看看读出来的数据是什么数据,给LED看看是不是会亮
LED1(I2c_Buf_Read[0]);
Delay(0x0FFFFF);
LED2(I2c_Buf_Read[1]);
Delay(0x0FFFFF);
LED3(I2c_Buf_Read[2]);
Delay(0x0FFFFF);
//修改数据,写入eeprom
I2c_Buf_Write[0]=~I2c_Buf_Read[0];
I2c_Buf_Write[1]=~I2c_Buf_Read[1];
I2c_Buf_Write[2]=~I2c_Buf_Read[2];
I2C_EE_BufferWrite(I2c_Buf_Write, EEP_Firstpage, 3);
Delay(0x0FFFFF);
while(1);
}
void Delay(__IO u32 nCount) //简单的延时函数
{
for(; nCount != 0; nCount--);
}
我又改了下程序,还是没有达到预期目的,每次开机LED都没有翻转!!是不是数据没有写进EEPROM啊 |
|