常驻嘉宾
- 积分
- 3034
- 威望
- 1650
- 贡献
- 780
- 兑换币
- 625
- 注册时间
- 2012-7-6
- 在线时间
- 302 小时
|
穆旦阿斗 发表于 2013-8-11 14:13
你把你清除标志的那一位的那句话改为“ATD0CTL5=0X20;”应该就可以了,主要是你原来清除的方法不对呀!
void AD_init (void)
{
ATD0CTL1 = 0x40; //00为转换精度 无外部触发 40=12位 20=10位 00=8位
ATD0CTL2 = 0x40; //禁止外部触发, 中断禁止
ATD0CTL3 = 0x90; //右对齐无符号,2序列转换, No FIFO, Freeze模式下继续转
ATD0CTL4 = 0x02;////采样时间为4个 ATDCloc==[BusClock*0.5]/[PRS+1]==40k
ATD0CTL5 = 0x30; //多通道10/30---单次/连续转换序列 0通道开始
ATD0DIEN = 0x00; //禁止数字信号输入
}
这是我的AD连续转换的,你的我没有仔细看,开始以为是清除标志的问题,但从我回复的那个图(4楼)来看,你AFFC==1&&CMPEn==0只要访问结果寄存器就会清除的
|
|