本帖最后由 FSL_TICS_A 于 2014-6-3 15:50 编辑
float bz;uintdat1; //全局变量
void zb_tab1(uint dat_8dot[]) //uint dat_8dot[];//函数的形参
{
uint end_dot;//局部变量
//.................................................
end_dot = dat_8dot * bz; //////////////////仿真观察程序运行完这一条语句后, dat1 全局变量数组里面的数值就会发生变化??请问怎么办??
//.................................................
}
void print_zbmid(uint recdat24[24], uint zzb_kd)
{
for (i = 0;i<=7;i++)// '将RECDAT24数组的中间8个数据取出到DOT数组中
{
dot = recdat24;
}
zb_tab1(recdat24);// 第一次还正常{从第6位开始就数组数值就已经改变了}
for (i = 8;i<=15;i++)// '将RECDAT24数组的中间8个数据取出到DOT数组中
{
dot[i - 8] = recdat24;
}
zb_tab1(dot);// 第二次和第三次就错误了
for( i = 16;i<=23;i++)// '将RECDAT24数组的后8个数据取出到DOT数组中
dot[i - 16] = recdat24;
zb_tab2(dot);
}
void adddat(uint *p,uint *q)
{
print_zbmid(dat1,ykd_dat) ;
}
我百度了下,感觉就是ram放不下了(大概变量太多还用了float)。好像可以通过修改这里来实现,但不知道怎么修改
|