最近干项目发现一个非常诡异的问题。跪求高手帮忙解决。
单片机:MSP430F2274,开发环境:IAR4.0.2
有一段最简单的移位程序:
变量定义:
unsigned int tt1,tt2,tt3,tt4,tt5;
程序段:
tt1=16;
tt5=tt4;
tt4=tt3;
tt3=tt2;
tt2=tt1;
当这段程序放在主循环中时,完全没有问题,tt1=tt2=tt3=tt4=tt5=16;
然而当这段程序放在一个子程序中时,tt3,tt4,tt5的值却不等于16,
例如:
if(flag==1)
{tt1=16;
tt5=tt4;
tt4=tt3;
tt3=tt2;
tt2=tt1;
|