This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

请问为什么数组在执行2个循环后被自动清零(0)

Other Parts Discussed in Thread: UNIFLASH

大家好:

    我们购买了M430F5438A的6套开发板,进行FFT的开发!

    现在其它4套运行程序正常(运行FFT程序6次后,利用蓝牙模块传送它的平均值),

    但有1套运行2次后,所有记录以前FFT数据的数组清零

    因为执行了如下指令:

    “TBCCTL1 &= ~CCIFG;

     TBCTL |= MC0; //start timer B
     __bis_SR_register(LPM0_bits + GIE);
     __no_operation();
     TBCTL &= ~MC0;“

     

      但其它4块开发板运行正常

     

    

  • 请问您的数组是存放在哪个位置?烧写时是否有进行校验检查?刚烧进去的时候,数据是正常的吗?

    您直接使用uniflash烧录out文件,是否可以正常写入数据?

  • 谢谢!
    全局变量“int FFT_Send[20], FFT_Rec[20];”
    因为FFT运行函数void FFTrecorder(void)里面我们添加了如下:
    “ if (flag == 0)
    {
    FFT_Rec[i_data] = FFT_data[252];
    if (i_data == 7)
    flag_data ++;
    } else
    {
    FFT_Send[i_data] = FFT_data[252];
    if (i_data == 7)
    {
    flag_data ++;

    s_data = (FFT_Send[3] + FFT_Send[4] + FFT_Send[5] + FFT_Send[6] + FFT_Send[7])/5;
    slave_node_Info_new.send_AG[1] = (s_data&0xff00) >> 8;
    slave_node_Info_new.send_AG[2] = (s_data&0x00ff);
    r_data= (FFT_Rec[3] + FFT_Rec[4] + FFT_Rec[5] + FFT_Rec[6] + FFT_Rec[7])/5;
    slave_node_Info_new.receive_AG[1] = (r_data&0xff00) >> 8;
    slave_node_Info_new.receive_AG[2] = (r_data&0x00ff);
    #if 1
    slave_node_Info_new.receive_AG[7] = 0xff;
    #endif
    }
    }
    flag++;”

    所以:我猜想:数组是存放在RAM里; 我们使用的是动态数据 FFT_data[252];
    烧写时没有进行校验检查。
    刚烧进去的时候,数据是0(正常)
  • 老师好:
    现在最主要的问题:同样的开发板,同样的程序;我们4块开发板运转正常!
    仅有1块发生的上面的问题,
    该如何尝试修复这个问题?
  • "刚烧进去的时候,数据是0(正常)"

    那是在执行循环之后就会清零?所以数据一直为0?

    您直接使用uniflash烧录out文件,是否可以正常写入数据?

    若是刚烧进去的时候测试正常则说明当时烧进去的时候是对的。后来随着时间的推移发现数据不对,可能是电压,温度,湿度,电离辐射等对芯片产生了干扰。

  • 是的!

    在执行2次循环后清零;再次正常数据;再2次循环后清零

    uniflash我会尽快尝试。

    谢谢

  • M430F5438A的6套开发板,您是否有外接什么器件?

    我这边有开发板,若是没有外接器件的话,可以试一下您的工程
  • 谢谢!
    是的,我们1块M430F5438A接正弦信号发神器(自己的开发板)
    5块接正弦信号接收器(自己的开发板),将来再用雅克比迭代法,高斯迭代法和超松弛迭代法收到数据后,解算!
    我们先尝试上面影响的去除。
  • 好的,期待您的反馈