TI中文支持网
TI专业的中文技术问题搜集分享网站

DSP28335中断中写数据不成功

CPU中开有2个中断用过该数据例如A,MCBSP中断和Timer0中断,MCBSP中断是每秒50K次左右,Timer0中断是1ms一次;

        MCBSP接外部AD芯片,实际应用为检测到AD值大于某个值时,变更A的值,此中断中只有写A的动作;Timer0对A的值进行检测,只有读A的动作;实际运行时总会有一定的几率出现写A不成功;而此时数据B(在数据A有写入动作时同时动作,只在MCBSP中断和主程序调用)则不会出错;这种属于什么情况?

       设备正常运行一次会出现一次写A的动作,测试中设备运行100-2000次 不等会随机出现一次异常。

程序如下:

    MCBSP中断中:    

if( AdcCH1_Buf > RunData.Data.PSetLoad )
{
     if(RunData.Data.Mode.PRunLock==0)
     {
            AxisX_Move.Axis_Data.Status.AccStatus = 2;
            RunData.Data.Mode.PRunLock = 1;
      }
}

   Timer0中断中:

    if( AxisX_Move.Axis_Data.Status.AccStatus == 0 ) 

   {

   }

   else if( AxisX_Move.Axis_Data.Status.AccStatus == 2 ) 

  {

   }

运行中AxisX_Move.Axis_Data.Status.AccStatus会出现写入不成功情况,而RunData.Data.Mode.PRunLock 则不会有问题!

赞(0)
未经允许不得转载:TI中文支持网 » DSP28335中断中写数据不成功
分享到: 更多 (0)