共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网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
【笔记】生成报错synthdesignERROR被打赏50分 | |
【STM32H7S78-DK评测】LTDC+DMA2D驱动RGBLCD屏幕被打赏50分 | |
【STM32H7S78-DK评测】Coremark基准测试被打赏50分 | |
【STM32H7S78-DK评测】浮点数计算性能测试被打赏50分 | |
【STM32H7S78-DK评测】Execute in place(XIP)模式学习笔记被打赏50分 | |
每周了解几个硬件知识+buckboost电路(五)被打赏10分 | |
【换取逻辑分析仪】RA8 PMU 模块功能寄存器功能说明被打赏20分 | |
野火启明6M5适配SPI被打赏20分 | |
NUCLEO-U083RC学习历程2-串口输出测试被打赏20分 | |
【笔记】STM32CUBEIDE的Noruletomaketarget编译问题被打赏50分 |