问题:在用未初始化的静态数组时出现数据被自动清零,和未加静态修饰符一样。
环境:SOFTUNE Workbench
初始化:static INT8U Timerjs[3] = {0};
应用:
Timerjs[0]++;
if(Timerjs[0] < 4){//一直进入
if(CanRx.Dir == 1){
DispData[0] |= DispCode_UpArrow;//flash display
DispData[4] |= DispCode_UpArrow1;//flash display
}
else if(CanRx.Dir == 2){
DispData[0] |= DispCode_DownArrow;
DispData[4] |= DispCode_DownArrow1;
}
}
else if(Timerjs[0] > 8){
Timerjs[0] = 0;//从来不会进入
}
但类似应用其他的成员:Timerjs[1]、Timerjs[2]并未出现此问题。
问题应该出现在这个编译器上,仅供大家个思路。