[ZLG-ARM] 求救!EasyARM2131 AD采集问题

[复制链接]
2257|3
 楼主| txm2008 发表于 2007-11-8 21:15 | 显示全部楼层 |阅读模式
用EasyARM2131开发板进行AD采集.<br />发现程序总是停留在while&nbsp;((AD0DR&nbsp;&&nbsp;0x80000000)&nbsp;==&nbsp;0);不往下走.<br />请问这是怎么回事啊.AD设置都是对照手册设置的.例程也是这样设置的.<br />是AD坏了?还是其他什么原因啊?<br />以前用210X就没出现这样的问题.<br />程序如下:<br /><br />void&nbsp;AD_Int()<br />{<br />PINSEL1&nbsp;|=&nbsp;1&nbsp;&lt&lt&nbsp;28;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;AD0CR&nbsp;=&nbsp;(1&nbsp;&lt&lt&nbsp;3)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;SEL=8,选择通道3<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((Fpclk&nbsp;/&nbsp;1000000&nbsp;-&nbsp;1)&nbsp;&lt&lt&nbsp;8)&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;CLKDIV=Fpclk/1000000-1,转换时钟为1MHz<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(0&nbsp;&lt&lt&nbsp;16)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;BURST=0,软件控制转换操作<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(0&nbsp;&lt&lt&nbsp;17)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;CLKS=0,&nbsp;使用11clock转换<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1&nbsp;&lt&lt&nbsp;21)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;PDN=1,正常工作模式<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(0&nbsp;&lt&lt&nbsp;22)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;TEST1:0=00,正常工作模式<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1&nbsp;&lt&lt&nbsp;24)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;START=1,直接启动ADC转换<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(0&nbsp;&lt&lt&nbsp;27);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;直接启动ADC转换时,此位无效<br />}<br />Get_AD()<br />{<br />&nbsp;&nbsp;AD0CR&nbsp;|=&nbsp;1&nbsp;&lt&lt&nbsp;24;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;while&nbsp;((AD0DR&nbsp;&&nbsp;0x80000000)&nbsp;==&nbsp;0);<br />&nbsp;&nbsp;ADC_Data&nbsp;=&nbsp;AD0DR;<br /><br />}&nbsp;&nbsp;&nbsp;&nbsp;
hotpower 发表于 2007-11-9 01:35 | 显示全部楼层

有时间看看...

  
 楼主| txm2008 发表于 2007-11-9 10:51 | 显示全部楼层

采集问题解决了

AD0CR=0x01200c08;就可以了.奇怪啊.<br />不过还有一个问题,采集的AD端口有2个,如何切换通道.<br />我是先设置一个通道AD0CR,然后读取AD0DR的值.然后再设置一个通道AD0CR读取AD0DR值.<br />有1个AD采集端口的值总是错的.
ARM_08 发表于 2007-11-10 20:39 | 显示全部楼层

我以前四路采样都没有问题

我以前四路采样都没有问题,ZLG有AD软件包,你可以用用!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

4

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部