找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2439|回复: 0
收起左侧

sfr WDTRST = 0xA6; sfr P2 = 0xA0;

[复制链接]
ID:325524 发表于 2018-5-14 09:46 | 显示全部楼层 |阅读模式
各位大佬,今天看到一个程序,如下
#include<STC89C5x.h>
#define LED P2
sfr  WDTRST  =   0xA6;                                

sbit key = P3^1;                 

/*------------------------------------------------
                    喂狗
------------------------------------------------*/
void Rst_Watchdog( void )
{
        WDTRST  = 0x1E; //先赋值1E 然后赋值E1
    WDTRST  = 0xE1;
}

/*------------------------------------------------
                    主函数
------------------------------------------------*/
void main( void )
{
        int i;
                                    // 设置看门狗时间为1个时钟循环后
        Rst_Watchdog();
                                         //关看门狗一个时钟循环
        for( i = 0; i < 500; i++)
        {
                Rst_Watchdog();               
        }
        LED=0x00;
        while(!key)                 //按下按键不松开,表示程序一直在按键处循环,
                                //并用LED显示0x55
        {
         LED=0x55;                         //模拟出错 正常情况应该一直显示LED,
                                //但是加看门狗之后不间断复位,倒是LED闪烁
        }
}


其中将看门狗WDTRST地址定位0xa6,但是P2的地址为0xa0,实际使用时P2口微亮,请问这两个地址是不是冲突?如何解决?
重新定义WDTRST就报错new 1.c(92): error C202: 'WDTRST': undefined identifier
求教?!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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