共2条
1/1 1 跳转至页
LPC2214,AD 求助:LPC2214的AD转换问题

问
用示波器测试到AD测试点的波形没有问题。但AD转换后数据不正确,从小到大一直升高,实际波形并不是这样。
现在用的是2214的内部flash调试。而该主程序(完全相同)在LPC2210的外部ram中调试,则数据没有任何问题。请高手指教,是不是两种芯片的ad转换有不同的地方? 答 1: 请把程序贴出来帮助您分析 答 2: 程序部分uint32 ADC_Data;
uint16 ccddata[551];
这是初始化部分。
ADCR=(1<<2)|
((Fpclk/4500000-1)<<8)|
(0<<16)|
(0<<17)|
(1<<21)|
(0<<22)|
(0<<24)|
(0<<27);
这是中断服务中取数据的程序:
for(i=0;i<=550;i++)
{
ADCR=ADCR|(1<<24);
while((ADDR&0x80000000)==0);
ADC_Data=ADDR;
ccddata[i]=(ADC_Data>>6)&0x3FF;
}
取出的数据从小到大上升状,与实际曲线情况不符,实际的数据没有这种斜度。而在2100中则没有这种问题。不知道为何。谢谢!!
答 3: 问题已解决这个程序本来在2210的exram下调试没问题的。但因为2214的内部flash调试速度很快,所以就出现了不同。我在ad转换中加入了延时程序就没问题了。
不过不知道为什么速度会差这么多。
还有也希望有谁有好的延时程序能分享一下,不胜感激,谢谢!!
现在用的是2214的内部flash调试。而该主程序(完全相同)在LPC2210的外部ram中调试,则数据没有任何问题。请高手指教,是不是两种芯片的ad转换有不同的地方? 答 1: 请把程序贴出来帮助您分析 答 2: 程序部分uint32 ADC_Data;
uint16 ccddata[551];
这是初始化部分。
ADCR=(1<<2)|
((Fpclk/4500000-1)<<8)|
(0<<16)|
(0<<17)|
(1<<21)|
(0<<22)|
(0<<24)|
(0<<27);
这是中断服务中取数据的程序:
for(i=0;i<=550;i++)
{
ADCR=ADCR|(1<<24);
while((ADDR&0x80000000)==0);
ADC_Data=ADDR;
ccddata[i]=(ADC_Data>>6)&0x3FF;
}
取出的数据从小到大上升状,与实际曲线情况不符,实际的数据没有这种斜度。而在2100中则没有这种问题。不知道为何。谢谢!!
答 3: 问题已解决这个程序本来在2210的exram下调试没问题的。但因为2214的内部flash调试速度很快,所以就出现了不同。我在ad转换中加入了延时程序就没问题了。
不过不知道为什么速度会差这么多。
还有也希望有谁有好的延时程序能分享一下,不胜感激,谢谢!!
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【我踩过的那些坑】STM32的硬件通讯调试过程的“坑”被打赏50分 | |
【我踩过的那些坑】晶振使用的问题被打赏100分 | |
【我踩过的那些坑】电感选型错误导致的处理器连接不上被打赏50分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏10分 | |
【我踩过的那些坑】DRC使用位置错误导致的问题被打赏100分 | |
我踩过的那些坑之混合OTL功放与落地音箱被打赏50分 | |
汽车电子中巡航控制系统的使用被打赏10分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏100分 | |
分享汽车电子中巡航控制系统知识被打赏10分 | |
分享安全气囊系统的检修注意事项被打赏10分 |