中级会员
 
- 积分
- 202
- 金钱
- 202
- 注册时间
- 2019-7-17
- 在线时间
- 40 小时
|
20金钱
先用flash存放数据,后面读出来,可是读出来的全是??
//读24分钟,5s钟读一次,总共24*60/5*8=2304字节;
//存flash
//第一个通道今天的数据存到flash1_1单元
if(flash1_1[0]&&flash1_2[0]==0)
{
if(addr1_1<0xff0000||addr1_1>=0xff0000+2304) addr1_1=0xff0000;
//读24分钟,5s钟读一次,总共24*60/5*8=2304字节;
W25QXX_Write(temp1+6,addr1_1,2);
addr1_1+=2;
W25QXX_Write(temp1+9,addr1_1,2);
addr1_1+=2;
W25QXX_Write(hum1+6,addr1_1,2);
addr1_1+=2;
W25QXX_Write(hum1+9,addr1_1,2);
addr1_1+=2;
if(addr1_1>=0xff0000+2304) //读完一天的数据了
{
flash1_1[0]=0; //变成了昨天
flash1_1[1]=1;
flash1_2[0]=1; //变成了今天
flash1_2[1]=0;
addr1_2=0xff1000; //从头开始
}
读flash:
//发送通道1昨天的数据
else if(flag1_yes)
{
if(flash1_1[0]==0) //昨天的数据存放在flash1_1中
{
for(i=0;i<2304;)
{
W25QXX_Read(temp1+6,0xff0000+i,2);
i+=2;
W25QXX_Read(temp1+9,0xff0000+i,2);
i+=2;
W25QXX_Read(hum1+6,0xff0000+i,2);
i+=2;
W25QXX_Read(hum1+9,0xff0000+i,2);
i+=2;
for(j=0;j<14;j++)
{
USART_SendData(USART1,temp1[j]);
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);
}
for(j=0;j<14;j++)
{
USART_SendData(USART1, hum1[j]);
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);
}
}
}
else if(flash1_2[0]==0) //昨天的数据存放在flash1_2中
{
for(i=0;i<2304;)
{
W25QXX_Read(temp1+6,0xff1000+i,2);
i+=2;
W25QXX_Read(temp1+9,0xff1000+i,2);
i+=2;
W25QXX_Read(hum1+6,0xff1000+i,2);
i+=2;
W25QXX_Read(hum1+9,0xff1000+i,2);
i+=2;
for(j=0;j<14;j++)
{
USART_SendData(USART1,temp1[j]);
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);
}
for(j=0;j<14;j++)
{
USART_SendData(USART1, hum1[j]);
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);
}
}
}
//只发送一次
flag1_yes=0;
}
|
|