msp430f149在执行程序某段函数时竟然自动复位?没有看门狗程序

2019-08-01 13:37发布

本帖最后由 _cir_ 于 2014-11-21 21:06 编辑

    我想请问各位工程狮,149在执行程序产生复位有哪些原因啊?我的程序是在执行某段继电器连接程序的if判断产生复位的(复位可能性很高)。 P6OUT  BIT3和BIT4控制继电器的。
另外,执行程序产生复位的原因有哪些啊?很可能是四楼大神所说的电压被瞬时拉低的情况,因为还出现了程序死机的情况!那请问大家有什么办法让电压稳定一点?


    if(PreTarget2 < ADCData2){
      while( (PreTarget2+PreTol2)< ADCData2){  //ADCData2是采样量,其他的都是全局变量
          Print(0x90,"变量数值减小中......");
            Adjdec++;
            Setdec_TimeInterval();
            P6OUT &= ~BIT3;
            P6OUT |= BIT5;
            delay_adjust(TimeInterval);
              P6OUT &= ~BIT3;
              P6OUT &= ~BIT5;
            
              write_LCD_command(0x9f);
                  delay_ms(5);
              write_LCD_data(dis1[Adjdec/10]);
                  delay_ms(5);
              write_LCD_data(dis1[Adjdec%10]);
              delay_ms(3000);
              
            Sample();//采样
            Show_result();
            
      }
    }
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
dirtwillfly
1楼-- · 2019-08-01 18:17
 精彩回答 2  元偷偷看……
mark301600
2楼-- · 2019-08-01 22:16
dirtwillfly 发表于 2014-11-19 22:06
产生复位的原因有很多。
常见的原因有三种:
1.WDT超时复位

赞一个
泰山特曲123
3楼-- · 2019-08-01 22:25
楼主的情况,很可能是单片机电压突然降低导致复位
_cir_
4楼-- · 2019-08-02 04:19
本帖最后由 _cir_ 于 2014-11-21 21:04 编辑
泰山特曲123 发表于 2014-11-21 19:54
楼主的情况,很可能是单片机电压突然降低导致复位

加一个大点的电容稳压行吗?还出现了程序死机的情况!
DENG_LI_JUN
5楼-- · 2019-08-02 06:42
继电器属于感性元件,在断开时由于电磁振荡,会产生快速瞬变脉冲群干扰,这种干扰的频谱很宽,而大电容是低频有效。建议加合适的TVS管,或者压敏电阻,必要时可以套上铁氧体磁环。这种情况一般处理要硬件为主,软件为辅。你试试看有没效果。
vivilzb1985
6楼-- · 2019-08-02 08:10
 精彩回答 2  元偷偷看……

一周热门 更多>