共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网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 | |
【FRDM-MCXN947评测】核间通信MUTEX被打赏50分 |