智能车制作
标题:
xs128 AD转换 初始化 后为什么只能读出4个ad值
[打印本页]
作者:
weng439
时间:
2010-5-3 12:14
标题:
xs128 AD转换 初始化 后为什么只能读出4个ad值
这样对ad进行初始化 ,但是 只能读出前4 个ad值 ,后面的4个都是0, 哪位 高手 帮我一下,看看哪里写错了?
谢谢~~~
ATD0CTL1=0x00; //7:1-外部触发,65:00-8位精度,4:放电,3210:ch
ATD0CTL2=0x40; //禁止外部触发, 中断禁止
ATD0CTL3=0x30; //右对齐无符号,每次转换4个序列, No FIFO, Freeze模式下继续转
ATD0CTL4=0x01; //765:采样时间为4个AD时钟周期,ATDClock=[BusClock*0.5]/[PRS+1]
ATD0CTL5=0x30; //6:0特殊通道禁止,5:1连续转换 ,4:1多通道轮流采样
ATD0DIEN=0x00; //禁止数字输入
作者:
lim1t
时间:
2010-5-3 14:00
ATD0CTL3=0x30; //右对齐无符号,每次转换4个序列, No FIFO, Freeze模式下继续转
你应该设置的是6个序列吧?
ATD0CTL3改成0x10,试试。
作者:
weng439
时间:
2010-5-3 18:46
ATD0CTL3=0x30; 的确是6 个序列。
ATD0CTL3=0x10; 好像 是转化 2个序列,
我想转换的是全部8个,应该怎么设置呢?
这里的转化序列长度 是不是想要得到几个ad的值就设置为多少啊?
作者:
weng439
时间:
2010-5-3 18:55
设成 ATD0CTL3=0x10 这样 还不行
是不是跟 ad时钟频率 采样频率 什么的有关啊
请高手指教。
作者:
lim1t
时间:
2010-5-3 19:43
回复
4#
weng439
我打错了,你要一次转8个是吧?
是把ATD0CTL3改成0x40,ATD0CTL5改成0x10。
fATDCLK设置成0.25到8.3MHz之间都行的。
不好意思哈。
作者:
ydmsz
时间:
2010-5-4 12:23
ATD0CTL3=0xC0
作者:
weng439
时间:
2010-5-8 09:19
谢谢啦 已经能成功检测出八个ad了
作者:
可欣
时间:
2012-10-3 23:39
借鉴
作者:
cs172034
时间:
2014-5-5 15:40
ATD0CTL5改成0x10什么意思?不应该是ATD0CTL5=0x30吗?
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2