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

退出调试状态,拔掉P&E USB Multilink,单片机不运行

退出调试状态,拔掉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,单片机运行不正常,和程序中设定的动作不一致。


哪个地方可能有问题呢?查了好几天的资料,实在是没招了。

fgrhsghsdhghsfsfgsfghsdfhsh
用示波器看一下你的硬件供电和复位,在拔掉前后有无变化
初出茅庐
看一下晶振的频率和波形怎样。另外,要确定一下系统的工作频率,即总线频率到底是多少。可以编一个最简单的程序,在一个引脚上输出脉冲波形测试一下。
海纳百川  有容乃大
我今天问北京的FREEASCALE的代理,他说前两种情况是正常的。
软件仿真时程序运行的时候都正常,晶振用的是8M,我看到DATASHEET上如果用1-8M的晶振的时候,需要设置一些PLL的寄存器。我今天问北京的FREEASCALE的代理也是说可能是晶振的问题。大家在写程序的时候在刚开始需要设置PLL寄存器吗?
fgrhsghsdhghsfsfgsfghsdfhsh
当GZ32进入监控模式时,只能用4M或8M的晶振,且不要启动PLL。当进入用户模式时,用户可以自己确定是否启动PLL。请参见GZ32数据手册《MC68HC908GZ60.pdf》的第340页。
海纳百川  有容乃大
在GZ32进入监控模式时,好象不一定一定用4M或8M的晶振,我用了6M也能下载,并且在下载的过程中,没有找到在下载时启动PLL这样的选项。
现在程序中禁用了PLL,PCTL = 0x00,是不是还要对其他的寄存器设置?
硬件的晶振用的是8M,并联了一个10M的电阻。没有加电容,但是加上两个30P的电容之后,现象也一样。
在拔掉P&E USB Multilink之后,上电之后程序不运行。
fgrhsghsdhghsfsfgsfghsdfhsh
程序里面是这样的:

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);就完全没有信号了。
fgrhsghsdhghsfsfgsfghsdfhsh
芯片本身的晶振,不管是6M还是8M看起来都没有起振,下载时都是在用Multilink的时钟新。好好检查一下你的晶振电路和信号。
海纳百川  有容乃大
在晶振两端并一个5M左右的电阻.

否则一般是起不来的.
超前科技网,
 关于Motolora,avr ,51单片机学习网站。
 
请问搂主找到解决的方法了吗?我也遇到类似情况。我用的是Adapt9S12E128,当P&E USB Multilink连接到电脑程序运行很好,可当拔掉P&E USB Multilink时,程序不工作。我查了一下Adapt9S12E128的线路图,晶振两端并一个10M左右的电阻。

-
返回列表