查看: 2655|回复: 0

[S12] 发现一个xs128 复位的问题

[复制链接]

该用户从未签到

2

主题

5

帖子

0

新手上路

Rank: 1

积分
16
最后登录
1970-1-1
发表于 2012-7-6 15:31:57 | 显示全部楼层 |阅读模式
芯片 MC9S12XS128MAA  
这样的状况,BDM软件复位,可正常,手动硬件复位,不正常,死在了这里        while((SPI0SR&0B10100000)!=0B10100000);
在主函数前面加一个几秒的延时,BDM软件复位正常,手动硬件复位,正常,
直接上电,手动硬件复位,死了,不正常
BDM调试到  SPI0DRL=date;  直接快速运行过去,正常,手动步进进去,死在了这里        while((SPI0SR&0B10100000)!=0B10100000);
 
示波器,捕捉复位下降沿,都正常。
死的时候  SPI0SR 为100000;
请高手来分析一下;
 
部分代码如下
 
uchar SPI_RW(uchar date)
{       
        SPI0DRL=date;
        while((SPI0SR&0B10100000)!=0B10100000);                           //等待收回数据
        date=SPI0DRL;
        return(date);                   // 返回读出的一字节
}
 
若改成
 
uchar SPI_RW(uchar date)
{       
        SPI0DRL=date;
        while((SPI0SR&0B00100000)!=0B00100000);                           //等待收回数据
        date=SPI0DRL;
        return(date);                   // 返回读出的一字节
}
 
 
压根就死完了
 
 
我知道答案 目前已有0人回答
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-28 17:00 , Processed in 0.139938 second(s), 21 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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