SRAM测试有时候出错 ,请教解决办法,用的是原子F4例程程序

2019-07-20 20:14发布

void fsmc_sram_test(u16 x,u16 y)
{  
        u32 i=0;            
        u8 temp=0;          
        u8 sval=0;        //在地址0读到的数据                                            
          LCD_ShowString(x,y,239,y+16,16,"Ex Memory Test:   0KB");
        //每隔4K字节,写入一个数据,总共写入256个数据,刚好是1M字节
        for(i=0;i<1024*1024;i+=4096)
        {
                FSMC_SRAM_WriteBuffer(&temp,i,1);
                temp++;
        }
        //依次读出之前写入的数据,进行校验                  
        for(i=0;i<1024*1024;i+=4096)
        {
                  FSMC_SRAM_ReadBuffer(&temp,i,1);
                if(i==0)
                        sval=temp;
                else if(temp<=sval)
                                break;//后面读出的数据一定要比第一次读到的数据大.                   有时候读到数据temp变成0就自动跳出了怎么回事,哪出错了
          
                LCD_ShowxNum(x+15*8,y,(u16)(temp-sval+1)*4,4,16,0);//显示内存容量  
        }                                         
}       

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。