[应用相关] 强信号干扰

[复制链接]
 楼主| pangb 发表于 2020-4-11 16:08 | 显示全部楼层 |阅读模式
下面程序每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();

       }

     }
dingy 发表于 2020-4-11 16:12 | 显示全部楼层
检查程序有没有溢出之类。。
pengf 发表于 2020-4-11 16:17 | 显示全部楼层
你的标题是干扰 问题是没说是什么干扰啊
liuzaiy 发表于 2020-4-11 16:20 | 显示全部楼层
这个可以检查下程序结构部分的吧。
yinxiangh 发表于 2020-4-11 16:23 | 显示全部楼层
flash存储的跟强信号的有啥关系的?
yinxiangh 发表于 2020-4-11 16:29 | 显示全部楼层
flash存储的跟强信号的有啥关系的?
chenjunt 发表于 2020-4-11 16:32 | 显示全部楼层
有可能是flash所使用的总线的电平信号不稳吧
huwr 发表于 2020-4-11 16:37 | 显示全部楼层

One_T是指的什么啊 楼主
morrisk 发表于 2020-4-11 16:41 | 显示全部楼层
干扰信号有什么问题??电流过大??
zyf部长 发表于 2020-4-11 16:45 | 显示全部楼层
不影响存储器的读写就没有问题。
zwll 发表于 2020-4-11 16:48 | 显示全部楼层
这个强信号指的是什么???
llljh 发表于 2020-4-11 16:51 | 显示全部楼层
是电流过大造成的吧。
 楼主| pangb 发表于 2020-4-11 16:55 | 显示全部楼层
应该是使用隔离电源试试。
xxrs 发表于 2020-4-11 17:01 | 显示全部楼层
是干扰到flash读写了吗
dingy 发表于 2020-4-11 17:04 | 显示全部楼层
这个干扰信号是怎么测量出来的?
chuxh 发表于 2020-4-11 17:08 | 显示全部楼层
存储器的问题,添加多个电容试试。
 楼主| pangb 发表于 2020-4-11 17:12 | 显示全部楼层
好的,我明天去单位试一下,多谢各位大侠了哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

701

主题

7643

帖子

6

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

701

主题

7643

帖子

6

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