首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

判断单片机复位的类型,freescale可以吗?

判断单片机复位的类型,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编辑过]

走向MCU开发的乐趣!
1. 看一下“por = RSR”这一句指令对应的汇编指令对不对,地址对不对;

2. 程序中别的地方是否有读 RSR 的指令?
海纳百川  有容乃大
问题解决了,原因是68MCIS08仿真器的缘故在通讯开始时,已经清除了RSR中的内容.我觉得这点非常不好.其它的仿真器如SMTV就没有这现象.

谢谢版主!!!
走向MCU开发的乐趣!
返回列表