金牌会员
- 积分
- 1044
- 威望
- 548
- 贡献
- 340
- 兑换币
- 4
- 注册时间
- 2011-11-18
- 在线时间
- 78 小时
|
自己写的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;
} |
|