[MCU] 跑着跑着就经常出现复位

[复制链接]
1277|36
lzmm 发表于 2019-10-2 16:23 | 显示全部楼层
如果没有仿真器,可以试着用一盏LED作为断点参考  
pixhw 发表于 2019-10-2 16:23 | 显示全部楼层
由于干扰等原因导致程序跑飞或者出现死循环  
sdlls 发表于 2019-10-2 16:23 | 显示全部楼层
也可能是外部复位电路的问题。   
febgxu 发表于 2019-10-2 16:23 | 显示全部楼层
有些单片机有看门狗,会自动实现复位   
xiaoyaodz 发表于 2019-10-2 16:23 | 显示全部楼层
把电容加大到10微法,电阻加大到10k  
fentianyou 发表于 2019-10-2 16:23 | 显示全部楼层
通过专用的复位操作      
午夜粪车 发表于 2019-10-13 09:44 | 显示全部楼层

楼主的程序笑掉大牙了,至少要这样
while(1)
{
if(index==0)       //你赋值每次都是可以的,每次为真就错了,没有起到应有的效果
   {
   for(i=0;i<16;i++)
    temp=temp+result;   
}
AD_data=temp>>4;
if(AD_data>1000)
;//你就是让它什么都不做嘛


你break一下就出了主程序,另外你index=0,编译器就在里面给你搞成个常量了,岂不是乱乱的飞了

}
zhaoxqi 发表于 2019-10-13 09:53 | 显示全部楼层

当时手边没有完整程序,随便写了一下表达思路。下面贴出完整程序。大侠不吝赐教!

void stepper_down(void) //电机向下运转
{
  P5DIR|=BIT6+BIT7;//电机的两个引脚,1+0和0+1分别控制正转与反转
  P6SEL|=BIT3;   //选择输入通道
  P5OUT|=BIT6;
  P5OUT&=~BIT7;
  delay_s(1);

  ADC12CTL0=ADC12ON+SHT0_15+SHT0_15+MSC; //打开ADC+分频系数64+采样有SHI仅首次触发
  ADC12CTL1=SHP+CONSEQ_2;       //单通道多批次
  ADC12MCTL0 = INCH_3;          //同引脚一致
  ADC12IE=0x03;                 //允许A3中断
  ADC12CTL0|=ENC;               //允许转换
  ADC12CTL0|=ADC12SC;           //开始转换
  _EINT();
  while(1)
  {
  if(index==0)
   {
    unsigned int temp,i;
       _DINT();
  for(i=0;i<16;i++)
   {

   temp=temp+results;
  }
    AD_data=temp>>4;
    _EINT();
   delay_ms(100);
   if(AD_data>800) //电压足够大超过800/4092*3.3V时停止
   {
   P5OUT&=~BIT6;
   P5OUT&=~BIT7;
   temp=0;
   AD_data=0;
  ADC12CTL0&=~ENC;
  break;  //break跳出回到主程序
   }
   else temp=0;
   }

}
}
zhanghqi 发表于 2019-10-13 09:59 | 显示全部楼层

加上看门狗的看看的啊
 楼主| shimx 发表于 2019-10-13 10:01 | 显示全部楼层
加了看门狗 程序还是自动复位了。。。
wyjie 发表于 2019-10-13 10:05 | 显示全部楼层
Break不是这么用的,,,同意大家意见。。。。。去掉break
 楼主| shimx 发表于 2019-10-13 10:43 | 显示全部楼层
那怎么跳出这段程序呢?。。。。。。
jlyuan 发表于 2019-10-13 10:46 | 显示全部楼层
if只运行一次,不用跳出
yszong 发表于 2019-10-13 10:52 | 显示全部楼层
应该是程序本身的问题   不是加不加看门狗的问题   这段程序需要重新写一下  呵呵
 楼主| shimx 发表于 2019-10-13 11:39 | 显示全部楼层
每次程序就是自己复位到起点,我怀疑是否是瞬间电流变化过大导致的程序复位。
dengdc 发表于 2019-10-13 11:44 | 显示全部楼层
那你就再检查检查啊
 楼主| shimx 发表于 2019-10-13 11:47 | 显示全部楼层

嗯,好吧,多谢大家啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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