搜索
bottom↓
回复: 11

51复位难道不是从程序开始处执行吗?看看这现象

[复制链接]

出0入0汤圆

发表于 2012-5-31 16:43:17 | 显示全部楼层 |阅读模式
本帖最后由 zuu0 于 2012-5-31 17:31 编辑

void main()
{
  启动画面
  延时2秒
  
  其它功能初始化
  开看门狗  //1秒 小于上面的延时 stc  WOD_CONr=0X3C
  while(1)
  {
    ........
   喂狗       
  }

}


现象: 正常上电启动,程序正常,每次上电都工作正常

按下复位键:启动画面 一直在闪烁,也就是没有喂狗。

为什么???按复位键后和上电 程序难道还不是从一个地方开始执行?

在延时2秒那段程序里不断喂狗,工作正常。郁闷啊

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2012-5-31 17:18:32 | 显示全部楼层
1、在  喂狗   那加点别的提示,比如LED点亮,串口输出。
2、判断下单片机是否真的成功复位了,复位电容会不会太大。
3、不知道你用什么屏,你屏初始化是否正确。因为你断电后是重新上电 和你在通电过程中重新初始化不是一个概念。

出0入0汤圆

 楼主| 发表于 2012-5-31 17:18:43 | 显示全部楼层
郁闷呀
设置一个变量,每次上电减一

上电复位,正常
手动复位,不会减一

NND

出0入0汤圆

发表于 2012-5-31 19:07:01 | 显示全部楼层
程序问题,你按复位后,看门狗依然继续运行,造成在延时2秒那里重复复位了,
应该在程序初始化最开头处清看门狗、延时2秒里也要内嵌清看门狗,
觉得上面麻烦,那就在初始化最开头处先关看门狗(STC的看门狗可以程序关闭),超级循环前再打开

出0入0汤圆

 楼主| 发表于 2012-6-1 08:03:55 | 显示全部楼层
本帖最后由 zuu0 于 2012-6-1 08:42 编辑

程序开始关狗,没用,。试过了

大师有空试一下,好像都是这样,我想不明白,吃不好,睡不好

同样是复位为什么会不一样,如何解释?

出0入0汤圆

发表于 2012-6-1 09:04:09 | 显示全部楼层
使用了未赋初值的变量?

出0入0汤圆

发表于 2012-6-1 09:23:24 | 显示全部楼层
什么看门狗,有的看门狗上电启动后就不能关闭的,
这样当然热复位后程序启动,在2s延时的时候看门狗还是开启的,自然就不停复位了

出0入0汤圆

发表于 2012-6-1 09:55:05 | 显示全部楼层
zuu0 发表于 2012-6-1 08:03
程序开始关狗,没用,。试过了

大师有空试一下,好像都是这样,我想不明白,吃不好,睡不好

方便的话就把程序传上来

出0入0汤圆

 楼主| 发表于 2012-6-1 10:53:48 | 显示全部楼层
我重新挑了一部分程序上来
整个程序48K,不好发上来

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入4汤圆

发表于 2012-6-1 11:16:49 | 显示全部楼层
推测:上电时,看门狗默认状态是关闭的,所以不影响你在LCD操作中的大量延时,而reset不能改变看门狗已经开启的状态,因而由于LCD操作中大量延时造成看门狗复位,lz可以通过改长看门狗复位时间来验证,比如改为10s试试

出0入0汤圆

 楼主| 发表于 2012-6-1 11:41:05 | 显示全部楼层
第一次发现,上电复位和手动按键复位,竟然还不一样

出0入0汤圆

发表于 2012-6-1 12:38:11 | 显示全部楼层
zuu0 发表于 2012-6-1 08:03
程序开始关狗,没用,。试过了

大师有空试一下,好像都是这样,我想不明白,吃不好,睡不好

前面说错了,看门狗启动后软件无法关闭,
修改如下

void main(void)
{
     WDT_CONTR = 0x35;           //启动看门狗,2.2s @ 11.0592M,空闲不计数
     LCMInit();                             //LCM初始化,即LCD模块初始化
     WDT_CONTR |= 0x10;          //清看门狗
     Start();                                //程序起动画面
     WDT_CONTR |= 0x10;          //清看门狗

     while(1)
     {
          DisplayListChar(0, 0, "ABCDEF0123456789",16);
          DelayNms(10);
          WDT_CONTR |= 0x10;          //清看门狗
     }
}
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 02:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表