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);
printf("%d
", temp_fsmc);
}
在做外部sram实验时,运行这段代码,会出现读取的数和写入的有些区别,但是如果一个字节写入,一个字节读取,把代码改成这样
for(i=0;i<1024*1024;i+=4096)
{
FSMC_SRAM_WriteBuffer(&temp_fsmc,i,1);
FSMC_SRAM_ReadBuffer(&temp_fsmc_2,i,1);
printf("%d
", temp_fsmc_2);
temp_fsmc++;
}
这样就可以,没问题,问什么,好奇怪
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
大哥,我复制错了,但是是一样的值结果也是不一样,我想问的是这个,而且在使用
u32 testsram[25000] __attribute__((at(0X68000000)));//测试用数组
这个数组时,我写入一组数据,读出来的时候第一个字节老是出错,但是把u32改为u8就好了,也不清楚为什么
一周热门 更多>