共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网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |