片外ADC通过SPI与MCU进行通信,采样卡死问题。

2019-07-21 07:24发布

如题,片外ADC采集数据,MCU的定时器每隔10ms去读取ADC寄存器中存储的采样数据。程序运行一段时间后,会出现采样死掉,数据不再更新的问题。但是我复位程序后,又可以继续读取实时更新的采样数据,不知道什么原因?
请问是这个原因吗?在线等大佬。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
18条回答
satine
2019-07-22 14:11
[mw_shl_code=applescript,true]void TIM3_IRQHandler()  
{  
    if(TIM_GetITStatus(TIM3, TIM_IT_Update))            //ÅD¶Ï·¢éúupdateê¼tÖD¶Ï
    {
                        CNT++;                       
                        if((node_type == 0x00) || (node_type == 0x10))                //½úμãààDí£oò»°ã2éÑù½úμãoí¿ØÖÆ»ØÂ·2éÑù½úμã
                        {
                                if(filter_flag == 0)        //ÂË2¨2éÑùÎ′íê3é
                                {
                                        tim_flag=1;                                       
                                        TIM_Cmd(TIM3, DISABLE);   //1Ø-TIM3ÖD¶Ï
                                        AD_data_tmp[i1]=Read_HYAD();
                                        tim_flag=2;
                                        if(AD_data_tmp[i1]<peidian_alm)
                                        {
                                                tim_flag=3;
                                                if(i1==2)
                                                {
                                                        tim_flag=4;
                                                        ad_error=AD_data_tmp[i1]-AD_data_tmp[i1-1];
                                                        if((ad_error>ad_sam_deadzone) || (ad_error<-ad_sam_deadzone))
                                                        {
                                                                i1=0;
                                                        }
                                                        else
                                                        {
                                                                i1=i1;
                                                        }
                                                }
                                                if(i1>2)
                                                {
                                                        tim_flag=5;
                                                        ad_error=AD_data_tmp[i1]-AD_data_tmp[i1-1];
                                                        if((ad_error>ad_sam_deadzone) || (ad_error<-ad_sam_deadzone))
                                                        {
                                                                i1=i1-1;
                                                        }
                                                        else
                                                        {
                                                                i1=i1;
                                                        }
                                                }
                                        }
                                        i1++;
                                }
                                if(i1>=(MB_Function_code_44[13]+1))          //AD&#194;&#203;2¨′&#206;êy &#197;D&#182;&#207;&#194;&#203;2¨ê&#199;·&#241;íê3é
                               
                          //&#194;&#203;2¨2é&#209;ùíê3é
                                {
                                        tim_flag=6;
                                        filter_flag=1;                          
                                        i1=0;
                                }
                                TIM_Cmd(TIM3, ENABLE);   //&#191;a-TIM3&#214;D&#182;&#207;
                        }
                        else
                        {
                                  filter_flag=0;                          
                                        i1=0;       
      }
                        tim_flag=7;                       
                        TIM_ClearITPendingBit(TIM3, TIM_IT_Update);     //&#199;&#229;3yupdateê&#194;&#188;t&#214;D&#182;&#207;±ê&#214;&#190;
                }  
}  
[/mw_shl_code]

一周热门 更多>