Board logo

标题: [讨论]请教一个关于MC9S12DG128的AD采样的问题 [打印本页]

作者: BHLT123    时间: 2007-10-31 16:13     标题: [讨论]请教一个关于MC9S12DG128的AD采样的问题

数据书上说,一旦对ATDCTL5赋值以后,ATD模块将重新开始采样,采样结束后,ATD0STAT0_SCF标志位置1。

我的程序是这样的:

main()
{
……
ADInit();//AD初始化
……

while(1) //死循环
{
程序1;

程序2;

……

ATD0CTL5 = 0X90;

while(ATD0STAT0_SCF == 0)
{
asm nop; //*

}

//存储采样数据
Data[i++] = ATD0DR0;

…………

程序n;

}//end of while(1)

}
现在在用P&E仿真器调试时候发现,先让程序全速运行,然后在任意时候让程序停止一段时间(大概也就几秒钟吧),再次全速运行,就会出现程序一直死在 * 位置,也就是这时候ATD0STAT0_SCF一直是0。不明白为什么会这样,因为程序再次运行以后肯定要先执行ATD0CTL5 = 0x90;这句话,重新启动AD采样并且采样完成后,ATD0STAT0_SCF不是会自动置1吗?还是P&E仿真器问题?




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