搜索
bottom↓
回复: 2

求助:关于PIC16F873A的WDT溢出复位时的STATUS的TO状态位

[复制链接]

出0入0汤圆

发表于 2010-4-17 16:01:13 | 显示全部楼层 |阅读模式
最近写了一个程序,复位时根据是否是WDT溢出复位而采取不同的初始化程序.我实际测试的结果是:当WDT溢出复位时寄存器STATUS的TO位是1,而不是数据手册上的0.我用的是HiTech-PICC编译器.
以下是我的程序:

#include <htc.h>

__CONFIG(XT & WDTEN &  PWRTEN &  BOREN &  LVPDIS);

void main (void)
{
     _delay(1);

     if (POR && BOR && !TO && PD) { //是WDT溢出复位吗?
         CLRWDT();     //是,则执行看门狗指令使TO置1
         WDTResetInit();    //并执行初始化程序WDTResetInit()
    } else {      //非WDT溢出复位
         POR = 1;     //软件置位POR与BOR
         BOR = 1;
         CLRWDT();
         NonWDTResetInit();   //执行初始化程序NonWDTResetInit()
   }

   while(1); //等待WDT溢出
}

请大家帮我看下我的程序哪里出问题了,先谢谢大家了!

出0入0汤圆

 楼主| 发表于 2010-4-17 16:12:10 | 显示全部楼层
回复【楼主位】xujiayong
-----------------------------------------------------------------------
大家要处理不同的复位问题时都是怎么做的啊?

出0入0汤圆

 楼主| 发表于 2010-4-19 08:49:07 | 显示全部楼层
我按照PICC手册上的说明,在源代码中添加了2行声明:
           extern bit __powerdown;
           extern bit __timeout;
并在编译选项里选中了"Backup reset condition flags"
修改后的代码示例如下:
/*
***********************************
#include <htc.h>
__CONFIG(XT & WDTEN &  PWRTEN &  BOREN &  LVPDIS);
extern bit __powerdown;
extern bit __timeout;

void main (void)
{
     _delay(1);
     if (POR && BOR && !__timeout && __powerdown) { //是WDT溢出复位吗?
         WDTResetInit();    //并执行初始化程序WDTResetInit()
     } else {      //非WDT溢出复位
         POR = 1;     //软件置位POR与BOR
         BOR = 1;
         NonWDTResetInit();   //执行初始化程序NonWDTResetInit()
    }
    CLRWDT();
    while(1); //等待WDT溢出
}
**************************************
*/
但是当我编译时出现了错误提示:symbol "___timeout" is defined more than once....
__timeout我没有在其他地方定义或声明啊,这又是什么原因啊?还请各位指点我下,谢谢啦!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-9 17:03

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

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