外设SRAM,为何不能像片内RAM对数组定义时直接赋值

2019-08-14 05:57发布

uint8_t testValue[10000] __attribute__((at(0x68000000)));
uint8_t testValue[10000]={1,2,3,4,5,6..............................................9999};//这样赋值为何不行????????????????????????
uint8_t readvalue[10000];
void main(void)
{
int i=0;
SRAM_ReadBuffer(readvalue,0x68000000,(sizeof(testValue)/sizeof(uint32_t)));
      for(;i<10000;i++)
      {
        printf("%d ",readvalue[i]);
       }

}
这样赋值读出结果不对,为什么
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
taizonglai
1楼-- · 2019-08-14 11:06
SRAM要先初始化完才能赋值!!!!参考开发板的SRAM例程里面的对一个SRAM中的数组赋值的方法
dczjn
2楼-- · 2019-08-14 16:55
zuozhongkai 发表于 2017-8-23 16:57
SRAM要先初始化完才能赋值!!!!参考开发板的SRAM例程里面的对一个SRAM中的数组赋值的方法

例程是对一个空数组用循环语句赋值,没有讲声明全局变量数组时如何直接赋值,全局变量之前如何初始化外部SRAM?

一周热门 更多>