n一直未1,那就循环都无法跳出来了。。。
[mw_shl_code=c,true]u8 system_exsram_test(u16 x,u16 y,u8 fsize)
{
u32 i=0;
u16 temp=0;
u16 sval=0; //在地址0读到的数据
LCD_ShowString(x,y,lcddev.width,y+fsize,fsize,"Ex Memory Test: 0KB");
//每隔1K字节,写入一个数据,总共写入1024个数据,刚好是1M字节
for(i=0;i<1024*1024;i+=1024)
{
FSMC_SRAM_WriteBuffer((u8*)&temp,i,2);
temp++;
}
//依次读出之前写入的数据,进行校验
for(i=0;i<1024*1024;i+=1024)
{
FSMC_SRAM_ReadBuffer((u8*)&temp,i,2);
if(i==0)sval=temp;
else if(temp<=sval)break;//后面读出的数据一定要比第一次读到的数据大.
LCD_ShowxNum(x+15*(fsize/2),y,(u16)(temp-sval+1),4,fsize,0);//显示内存容量
}[/mw_shl_code]
我们例程代码是这样的。。。
|