标题: ATD 求助!! [打印本页]
作者: zzt2004 时间: 2006-7-20 15:13 标题: ATD 求助!!
一直用mc9s12dj64 cfu这颗片子,在用atd时没有问题,
前些天用mc9s12dj64 cfue(环保产品)时出问题了;
while((ATD0STAT0 & ATD0STAT0_SCF_MASK) == 0);运行通不过,即AD转化未完成
那位大侠可知mc9s12dj64 cfu与mc9s12dj64 cfue有什么区别?
作者: strongchen 时间: 2006-7-20 17:50
应该没有什么差别。程序完全相同吗?
作者: zzt2004 时间: 2006-7-20 17:56
程序完全相同,在同一硬件上
static void INIT_ATD(void)
{
//en_ atd
ATD0CTL2_ADPU=1;
// 10 bit resolution, clock divider=12 (allows ECLK=6..24MHz)
// 2nd sample time = 2 ATD clocks
ATD0CTL4 = ATD0CTL4_PRS2_MASK | ATD0CTL4_PRS0_MASK;
}
//
word SingleATD(byte channel)
{
ATD0CTL3 = ATD0CTL3_S1C_MASK; //one
ATD0CTL5 = (ATD0CTL5_DJM_MASK | (channel & 0x07));
while(!ATD0STAT0_SCF); //?????用mc9s12dj64-CFUE 时在此通不过 ,屏蔽后可以通过
return (ATD0DR0);
}
void main(void)
{
word i;
//
...
INIT_ATD();
for(;;){
i=SingleATD(6);
//send to pc
}
}
作者: strongchen 时间: 2006-7-21 09:25
你可以确定是程序走到这一句上然后一直通不过吗?
作者: zzt2004 时间: 2006-7-21 09:51
是的,我屏蔽此局后程序可正常执行。
作者: strongchen 时间: 2006-7-21 11:04
再换一块片子试试?
作者: zzt2004 时间: 2006-7-21 11:29
我 试验了5片,结果都一样,改为cfu的任一片都ok。
程序看上去没有问题,我正和FREESCALE联系,不过他们的办事处可不敢恭维
作者: strongchen 时间: 2006-7-21 14:34
有没有开启中断?有没有开启COP?
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) |
Powered by Discuz! 7.0.0 |