强信号干扰

[复制链接]
728|5
 楼主| kangzj 发表于 2015-3-11 21:04 | 显示全部楼层 |阅读模式
FLASH存储瞬间貌似出现强信号
chuxh 发表于 2015-3-11 21:04 | 显示全部楼层
详细说说
 楼主| kangzj 发表于 2015-3-11 21:06 | 显示全部楼层
下面程序每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();

       }

     }
supernan 发表于 2015-3-11 21:07 | 显示全部楼层
检查程序有没有溢出之类
 楼主| kangzj 发表于 2015-3-11 21:08 | 显示全部楼层
应该没有,我看下
comeon201208 发表于 2015-3-11 23:09 | 显示全部楼层
这个可以检查下程序结构部分的吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

672

主题

7007

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部