Board logo

标题: 判断单片机复位的类型,freescale可以吗? [打印本页]

作者: feigec    时间: 2005-8-12 11:29     标题: 判断单片机复位的类型,freescale可以吗?

datasheet上说,有一个复位状态寄存器RSR(Reset Status Register   $fe01).
复位类型包含了上电复位,外部复位,LVI复位,非法地址,非法操作指令复位.但我在复位后却怎么也读出来是0.非常困惑~部分代码如下
unsigned char por;
void main(void){
    CONFIG2=0;
    CONFIG1=0x80;  //jl8

    asm{nop};
    por =RSR;
    if(por==0x80)  //上电复位处理
    {...}  
    if(por&0x40)  //处部复位处理
    {...}
    .....

}




[此贴子已经被作者于2005-8-12 11:29:39编辑过]


作者: strongchen    时间: 2005-8-12 15:00

1. 看一下“por = RSR”这一句指令对应的汇编指令对不对,地址对不对;

2. 程序中别的地方是否有读 RSR 的指令?
作者: feigec    时间: 2005-8-15 15:09

问题解决了,原因是68MCIS08仿真器的缘故在通讯开始时,已经清除了RSR中的内容.我觉得这点非常不好.其它的仿真器如SMTV就没有这现象.

谢谢版主!!!




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0