Part Number:TMS320F2812
CCS版本5.2,编译器版本TI v6.1.0
代码示例:
unsigned int A[2] = {0,0};
unsigned int B[2] = {0,0};
void test(void)
{
unsigned int i = 0;
for(i=0;i<2;i++)
{
if(A[i] > 10)
{
B[i] = 1;
}
else
{
A[i]++;
}
}
}
void main(void)
{
while(1)
{
test();
}
}
运行结果:B[0]和B[1]一直在增加,A[0]和A[1]一直都是0
JIAN LI:
仿真运行过程中,if条件和else条件都能进,B[i] = 1执行完无效,但是执行完 A[i]++后实际是B[i] 在+1
,
Green Deng:
这似乎是关于C语言的问题?跟编译器应该关系不大啊?你用其他C语言编译器上执行这段代码结果会如何?
,
JIAN LI:
应该是编译器的问题,我用V6.2.0就没问题,关键6.1的编译器设置优化全关了也不行
,
Green Deng:
可能6.2在6.1的基础上有更新。
其实现在编译器已经更新到21版本了,可以考虑更新CCS了