打印
[ZLG-ARM]

LPC 2114的AD 怎么有时候转换一直在等待?

[复制链接]
2419|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yccamel|  楼主 | 2007-6-4 22:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AD, LPC, dc, ADC, ST
LPC 2114的AD 怎么有时候转换一直在等待?
用仿真器大部分时候AD转换成功,某些时候程序就停在等待AD转换完的地方,但不用仿真器跑程序转换一

直不成功,别的中断程序里面功能都正常,判断应该也是卡在等待AD转换完的地方。

下面是我的AD 程序:

    ADCR = ADCR | (1 << 24);        // 再次启运转换
    while( (ADDR & 0x80000000) == 0 );    // 等待转换结束
就停在 while( (ADDR & 0x80000000) == 0 ); 这里过不去。

这是我的AD初始化程序
void ad_init(void)
{
 ADCR = (8 << 0)          |        // SEL = 3 ,选择转换AIN3
( (pclk/1000000 - 1) << 8) |         // AD时钟,即转换时钟为1MHz
     (0 << 16)         |        // BURST = 0 ,软件控制转换操作
     (0 << 17)     |     
     (1 << 21)         |         // PDN = 1 , 正常工作模式(非掉电转换模式)
     (0 << 22)         |         // TEST0:0 = 00 ,正常工作模式(非测试模式)
     (1 << 24);                 // START = 1 ,直接启动ADC转换
}

相关帖子

沙发
yccamel|  楼主 | 2007-6-7 09:44 | 只看该作者

wlsui

非常感谢,不过它的手册上好像没有说转化完成后必须读数据寄存器。

使用特权

评论回复
板凳
wlsui| | 2007-6-7 20:55 | 只看该作者

Re:

手册上是没说
有没有验证下能解决问题吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

43

帖子

0

粉丝