OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2350|回复: 4

24c02存储多位数据

[复制链接]

1

主题

4

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2018-8-19
在线时间
20 小时
发表于 2018-9-19 16:52:07 | 显示全部楼层 |阅读模式
2金钱
是在原子哥的程序的基础上改的 要求储存多位数据 每个数据都是0-9的数字 一共是5个数据 我的想法是每一位存入一个地址占用一个字节
但是写完我从24c02读值发现读出的是乱七八糟的数字
求大佬帮忙看看哪有问题
int main(void)
{  
u8 i,j,a;
  u8 s[4];
u8 key;
u8 sum,num,hum;
u8 datatemp1,datatemp2,datatemp3,datatemp4,datatemp5;
  u8 p=0,t=0;
//Stm32_Clock_Init(); //系统时钟设置
NVIC_Configuration();
uart_init(72,115200);
delay_init();     //延时初始化
OLED_Init();
KEY_Init();  
AT24CXX_Init();
while(AT24CXX_Check())//检测不到24c02
{
  OLED_ShowString(0,0,"Check Failed!");
  delay_ms(500);
  OLED_ShowString(0,2,"lease Check!");
}
OLED_ShowString(0,0,"Ready!");
   while(1)
{
    key=KEY_Scan(0);
  if(key==KEY1_PRES)//①输入数字
   {
      i++;
      if(i==9)
    {
         i=0;
    }     
       s[j]='0'+i;
    OLED_ShowString(0,6,s);      
    }
   if(key==KEY0_PRES)//②换位 输入数字
   {
       j++;
    if(j>4)
    {
     j=0;
    }
      i=0;  
    }
  if(key==KEY3_PRES)//③写入
  {
   OLED_ShowString(0,2,"Start");
    for(j=0;j<=4;j++)//每位地移入写和读
   {
      s[j]=s[j]-'0';
     AT24CXX_Write(j,(u8*)&s[j],8);//EEFPROM 写
      AT24CXX_Read(j,(u8*)&s[j],8);//EEPROM 读
    delay_ms(10);
    break;
      }  
  }
  if(key==KEY2_PRES)//③ 显示屏显示
     {
//    for(j=0;j<=4;j++)
//   {
////    s[j]=s[j]-'0';
//     AT24CXX_Read(j,(u8*)&s[j],8);//EEPROM 读
//    delay_ms(10);
//    break;
//   }
   delay_ms(20);
   datatemp1=AT24CXX_ReadOneByte(0); //从读地址读存储值
   datatemp2=AT24CXX_ReadOneByte(1);
   datatemp3=AT24CXX_ReadOneByte(2);
   datatemp4=AT24CXX_ReadOneByte(3);
   datatemp5=AT24CXX_ReadOneByte(4);
   delay_ms(20);
   OLED_ShowNum(0,4,datatemp1,3,16);//显示存储值
     OLED_ShowNum(8,4,datatemp2,3,16);
    OLED_ShowNum(16,4,datatemp3,3,16);
   OLED_ShowNum(24,4,datatemp4,3,16);
   OLED_ShowNum(32,4,datatemp5,3,16);
   
   }
}   
}


最佳答案

查看完整内容[请看2#楼]

已经解决了 不麻烦大家了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2018-8-19
在线时间
20 小时
 楼主| 发表于 2018-9-19 16:52:08 | 显示全部楼层

已经解决了 不麻烦大家了
回复

使用道具 举报

1

主题

231

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2872
金钱
2872
注册时间
2018-1-24
在线时间
258 小时
发表于 2018-9-19 16:57:14 | 显示全部楼层
要整页写,不是一个个地址写
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2018-8-19
在线时间
20 小时
 楼主| 发表于 2018-9-19 19:45:32 | 显示全部楼层
bebj2009 发表于 2018-9-19 16:57
要整页写,不是一个个地址写

为什么不能一个地址一个地址写? 我是一个地址写一个字节可以吗
回复

使用道具 举报

3

主题

1155

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
7464
金钱
7464
注册时间
2015-1-15
在线时间
1368 小时
发表于 2018-9-19 21:57:02 来自手机 | 显示全部楼层
楼主要求还真多
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-20 01:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表