打印

请教上电复位判断

[复制链接]
1824|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
happystar|  楼主 | 2008-1-8 21:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用C8051F单片机,其中需要上电判断复位类型如下:
1、电池有电 2、电池没电 3、看门狗或手动复位(MAX706) 4、上电复位
我利用MCU自带的寄存器RSTSRC,控制字中bit1 = 1是上电复位标志。
                             控制字中bit0 = 1RST引脚复位标志(外部复位)
程序如下;
uint rst_type;
void Rst_Judge(){
if(rst_type == 0x55aa){//电池有电
    if(RSTSRC & 0X01){//外部RST引脚复位(看门狗或手动复位)
        data_deal();
    }
    else{
         read_flash();//读flash数据
}
else{//电池没电
    rst_type = 0x55aa;
    if(RSTSRC & 0X02){//上电复位
 语句1) read_flash();//读flash数据
    }
    else if(RSTSRC & 0X01){//外部RST引脚复位(看门狗或手动复位)
        data_deal();
    }
}
遇到的问题是每次上电都执行不了语句1),也就是RSTSRC一直等于0X01    
其中max706 RST和CUP的 RST相连。
706的Vrst = 4.4v,而CPU Vrst = 2.55V.
        

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

58

主题

409

帖子

1

粉丝