智能车制作
标题:
高手请留言……
[打印本页]
作者:
15239172008
时间:
2011-12-18 12:17
标题:
高手请留言……
自己写的ad,可怎么也不工作,在网上搜的程序,下进去也不会工作,我看了看程序,ad转换总卡死在while(!ATD0STAT0_SCF);句上。请高手指教???
下面是代码:
void vADInit(void)
{
ATD0CTL1=0b00000000;//8位精度
ATD0CTL2=0b01000000;//禁止外部触发,标志位快速清零,中断禁止
ATD0CTL3=0b10001000;//右对齐无符号.转换序列长度为1,No FIFO模式,Freeze模式下继续转换?
ATD0CTL4=0b00000111;//4AD采样周期,ATDClock=[BusClock*0.5]/[PRS+1] ; PRS=15, divider=32 ?
ATD0CTL5=0b00100111;//特殊通道禁止,单通道采样,扫描模式连续采样,ch AN7
ATD0DIEN=0b00000000;//禁止数字输入
}
unsigned char ReadATD()
{
byte ad=0;
while(!ATD0STAT0_SCF);
ad= ATD0DR0L;
return ad;
}
作者:
15239172008
时间:
2011-12-18 12:17
总卡死在while(!ATD0STAT0_SCF);
为什么??????
作者:
sonwendi
时间:
2011-12-18 13:25
查一查是不是状态寄存器弄错了
作者:
15239172008
时间:
2011-12-18 14:38
回复
3#
sonwendi
没错呀,状态寄存器就是ATD0STAT0.
位寻址到ADT0STAT0_SCF,这一位表示队列转换结束后,会置1.
[attach]16715[/attach]
作者:
15239172008
时间:
2011-12-18 14:38
继 续 等 大 侠 们 解 答 ……
作者:
xining_yang
时间:
2011-12-18 16:26
作者:
shijie1989
时间:
2011-12-18 16:49
有点困难啊
作者:
shijie1989
时间:
2011-12-18 16:49
不是很明白啊
作者:
buzhidao
时间:
2011-12-18 17:20
我是低手
作者:
sonwendi
时间:
2011-12-18 22:07
回复
4#
15239172008
你似乎用的是第七通道,试一试:
while(!ATD0STAT2_CCF7);
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2