标题: 退出调试状态,拔掉P&E USB Multilink,单片机不运行 [打印本页]
作者: lwascl 时间: 2006-1-9 12:38 标题: 退出调试状态,拔掉P&E USB Multilink,单片机不运行
自己做了一个GZ32的最小应用系统,使用P&E USB Multilink下载,用 P&E USB Multilink 供电,晶振采用外部8M晶振,
PA0和PB0 100k上拉,PA1 PB1和PB4 100k下拉。现在有这样几个问题,查了好几天的资料,也没有找到答案,实在是没招了:
1> 进入MON08之后,单步执行特别慢,一般点击之后半天才运行一步;
2> 在调试状态下,如果点击停止,就会弹出“Communication Error”对话框;
3> 退出调试状态,拔掉P&E USB Multilink,单片机运行不正常,和程序中设定的动作不一致。
哪个地方可能有问题呢?查了好几天的资料,实在是没招了。
作者: ww_cat 时间: 2006-1-9 17:50
用示波器看一下你的硬件供电和复位,在拔掉前后有无变化
作者: strongchen 时间: 2006-1-10 11:08
看一下晶振的频率和波形怎样。另外,要确定一下系统的工作频率,即总线频率到底是多少。可以编一个最简单的程序,在一个引脚上输出脉冲波形测试一下。
作者: lwascl 时间: 2006-1-10 18:40
我今天问北京的FREEASCALE的代理,他说前两种情况是正常的。
软件仿真时程序运行的时候都正常,晶振用的是8M,我看到DATASHEET上如果用1-8M的晶振的时候,需要设置一些PLL的寄存器。我今天问北京的FREEASCALE的代理也是说可能是晶振的问题。大家在写程序的时候在刚开始需要设置PLL寄存器吗?
作者: strongchen 时间: 2006-1-11 11:56
当GZ32进入监控模式时,只能用4M或8M的晶振,且不要启动PLL。当进入用户模式时,用户可以自己确定是否启动PLL。请参见GZ32数据手册《MC68HC908GZ60.pdf》的第340页。
作者: lwascl 时间: 2006-1-14 09:01
在GZ32进入监控模式时,好象不一定一定用4M或8M的晶振,我用了6M也能下载,并且在下载的过程中,没有找到在下载时启动PLL这样的选项。
现在程序中禁用了PLL,PCTL = 0x00,是不是还要对其他的寄存器设置?
硬件的晶振用的是8M,并联了一个10M的电阻。没有加电容,但是加上两个30P的电容之后,现象也一样。
在拔掉P&E USB Multilink之后,上电之后程序不运行。
作者: lwascl 时间: 2006-1-14 20:34
程序里面是这样的:
void Delay(ulong time)
{
while(time--);
}
void main(void)
{
PCTL = 0x00; //禁止PLL
DDRF = 0xff;//设置PORTF口为输出
while(1)
{
PTA = i++;
// Delay(3000);
}
}
如果没有Delay(3000);这条语句,用示波器可以看到A口的波形,并且8个口的倍数关系也对,但是示波器上有杂波。
如果加上Delay(3000);就完全没有信号了。
作者: strongchen 时间: 2006-1-17 14:07
芯片本身的晶振,不管是6M还是8M看起来都没有起振,下载时都是在用Multilink的时钟新。好好检查一下你的晶振电路和信号。
作者: boy123 时间: 2006-1-18 17:06
在晶振两端并一个5M左右的电阻.
否则一般是起不来的.
作者: mkokji 时间: 2006-1-27 10:43
请问搂主找到解决的方法了吗?我也遇到类似情况。我用的是Adapt9S12E128,当P&E USB Multilink连接到电脑程序运行很好,可当拔掉P&E USB Multilink时,程序不工作。我查了一下Adapt9S12E128的线路图,晶振两端并一个10M左右的电阻。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) |
Powered by Discuz! 7.0.0 |