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

[复制链接]
1283|36
 楼主| shimx 发表于 2019-9-24 22:42 | 显示全部楼层 |阅读模式

ADC的单通道多次采样
用的是TI的ADC的示例源程序。程序大致如下,跑着跑着就经常出现复位。
jiahy 发表于 2019-9-24 22:46 | 显示全部楼层

啊?怎么回事啊?详细说说
 楼主| shimx 发表于 2019-9-24 22:50 | 显示全部楼层
基本思路是
全局变量:Num_result=16;
index=0

中断:__interrupt
{
result[index]=adcmem0;
index=(index+1)%Num_result;
}        
主程序中:
打开adc
while(1)
{
if(index=0)
   {
   for(i=0;i<16;i++)
    temp=temp+result[i];   
}
AD_data=temp>>4;
if(AD_data>1000)
  {
  break;
  }

}
jiaxw 发表于 2019-9-24 22:53 | 显示全部楼层


= ==?
break都能跳出while(1)了 后面是啥?复位当然成为可能
 楼主| shimx 发表于 2019-9-24 22:57 | 显示全部楼层
break 设计目标就是跳出这段程序的 上面这段是一个子程序
liliang9554 发表于 2019-9-24 23:08 | 显示全部楼层
if(index=0)   ????
kkzz 发表于 2019-10-2 16:18 | 显示全部楼层
开启了看门狗但没有喂狗         
hudi008 发表于 2019-10-2 16:20 | 显示全部楼层
可能就超过了看门狗时间,造成系统复位
lzmm 发表于 2019-10-2 16:20 | 显示全部楼层
做一下单步调试吧      
minzisc 发表于 2019-10-2 16:21 | 显示全部楼层
检查一下你的复位电路是否有问题  
selongli 发表于 2019-10-2 16:21 | 显示全部楼层
有可能电压不稳      
fentianyou 发表于 2019-10-2 16:21 | 显示全部楼层
通过看门狗等功能引发复位。  
xiaoyaodz 发表于 2019-10-2 16:21 | 显示全部楼层
如果是外接复位电路,那就是复位电路有问题  
febgxu 发表于 2019-10-2 16:22 | 显示全部楼层
一般有软件复位和硬件复位。
sdlls 发表于 2019-10-2 16:22 | 显示全部楼层
条件是已经启动了看门狗。   
pixhw 发表于 2019-10-2 16:23 | 显示全部楼层
如果是用了外部看门狗 电路,那就是外部看门狗造成的。  
selongli 发表于 2019-10-2 16:23 | 显示全部楼层
程序跑飞,主循环意外跳出。  
kkzz 发表于 2019-10-2 16:23 | 显示全部楼层
单元负载能力不足 电源不稳定  
minzisc 发表于 2019-10-2 16:23 | 显示全部楼层
你怎么确定单片机是在复位而不是程序出了问题?  
hudi008 发表于 2019-10-2 16:23 | 显示全部楼层
将看门狗定时延长   
您需要登录后才可以回帖 登录 | 注册

本版积分规则

857

主题

10661

帖子

5

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