强信号干扰

2019-07-16 15:14发布

FLASH存储瞬间貌似出现强信号
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
huangchui
2019-07-17 01:54
下面程序每1秒中断一次,每60秒存储一次,SIFCNT是单片机用来记数的计数器,记每秒的瞬时流量,Total_flow是总流量,结果写入FLASH正常,可是每过60秒FLASH写入后一秒左右One_T都会变的很大,不是正常的大但每次数都不一样没什么规律性,求大虾帮找找原因,为什么每次FLASH写入后一秒左右One_T都会变的很大????????忙了两天都没结果!!!!

void main(void)

{    SystemInit();   //初始化

     InitScanIF();

     LCD_Init();   

     cl_lcd();      //清屏



    Total_flow=ReadFloat((uint16 *)addr_T_F);   // 读累计流量



    WDTCTL = WDT_ADLY_1000;   //每1秒中断

    _EINT();

    IE1 |= WDTIE;         ///使能WDT中断



    while (1);

}  



#if __VER__ < 200

    interrupt [WDT_VECTOR] void ISR_WDT(void)

#else

    #pragma vector=WDT_VECTOR

    __interrupt void ISR_WDT(void)

#endif   

    { One_T=SIFCNT;

      Total_flow=Total_flow+One_T;

      Writ_flag++;        

      if (Writ_flag>=60)  

      { _DINT();

       Erase((uint16 *)addr_T_F);         //擦除累计流量

       WritFloat((uint16 *)addr_T_F, Total_flow);  //写累计流量

       Writ_flag=0;                               // 写时间标志置0

        _EINT();

       }

     }

一周热门 更多>