zhuilovelyan 发表于 2011-10-21 20:51:30

请教马老师及各位高手,关于ATMEGA128外部SRAM里两个不同数据类型的数组之间的数据交

如题:刚刚遇到一个很棘手的问题,请马老师跟各位高手指点一下!
就是两个定义于外部sram里的数组A和B,A数据类型是uint,B数据类型是float,现在想将A里的数据给B,但是出现了很大的问题。

#pragma abs_address:0x1100
uint A;//通过16位A/D采的数
#pragma end_abs_address
#pragma abs_address:0x110A
float B;//计算完给上位机传的数(必须传浮点数)
#pragma end_abs_address

1.直接在循环里交换好像不行
for(i=0;i<10;i++)
{
    B=A;
}

2.用中间变量也不行
for(i=0;i<10;i++)
{
    temp=A;
    B=temp;
}

现在就一个好使的方法:
B=A;
B=A;
B=A;
...
...
...
B=A;

但是数组的大小不是10,只是随便举个例子,真实的有1024,要是像这种方法的话得写到什么时候啊。。。。。。

所以请马老师及各位高手出出招,不胜感激。。。。。。

machao 发表于 2011-11-4 13:06:53

B=A;

B=A;
B=A;
B=A;

没有区别的。

查看是否其它情况造成的。比如数据空间超出实际RAM的空间等
页: [1]
查看完整版本: 请教马老师及各位高手,关于ATMEGA128外部SRAM里两个不同数据类型的数组之间的数据交