调试过程中静态修饰符static出现的异常。

SOFTUNEWorkbench中静态数组自动清零问题
在SOFTUNEWorkbench环境下,使用未初始化的静态数组时遇到数据自动清零的问题,仅限于数组的首个元素,而其他元素正常。问题可能源于编译器处理静态变量的方式。

问题:在用未初始化的静态数组时出现数据被自动清零,和未加静态修饰符一样。

环境: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]并未出现此问题。

问题应该出现在这个编译器上,仅供大家个思路。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值