关于PIC24内部AD模块采样的问题
使用PIC24单片机的内部AD模块,参考电压为3.3V,AN12通道输入1.65V电压,采用手动方式,启动一次采样和转换,但转换结果一直是最大值,可能是什么原因? 建议,可以连续采样试试。楼上,我是通过手动方式,操作SAMP位,放在一个循环中连续执行了18次,都是这样。
你说的是指自动采样启动,基于Tad的转换启动吗? 会不会是漏了配置为模拟口呢? 没有,单片机模拟引脚,在复位后默认的状态就模拟输入状态,我还特意将AN12这一脚,设为了模拟输入
TRISCbits.TRISC3 = 1; //AN12与RC3复用,我也设为了输入方向了
AD1PCFGbits.PCFG12 = 0;//AN12引脚被配置为模拟输入 又换了一个端口试验还是同样的的现象,真是奇怪了!! 同志们给点启示啊,我把通道接到地上时,转换结果是零,接到1.65V和2.95V转换结果都是最大值。什么原因呢??? 问题解决了,程序和硬件都正确,问题出在一个我绝对猜想不到的地方。 longfeixue 发表于 2013-2-2 17:40 static/image/common/back.gif
问题解决了,程序和硬件都正确,问题出在一个我绝对猜想不到的地方。
问题解决了,哥们,总得说出来大家共享一下。
论坛存在的核心价值啊{:curse:} 楼上说的有理,楼主解释 longfeixue 发表于 2013-2-2 17:40 static/image/common/back.gif
问题解决了,程序和硬件都正确,问题出在一个我绝对猜想不到的地方。
这个说的比较猛。 为啥不公布为什么呢。 今天上网站看到消息,既然有同志想了解一下问题的原因,我就说明一下:
我用的芯片是PIC24FJ64GB004这个片子,PIC24F的单片机调试和下载引脚有三组,当使用第三组调试/下载引脚时,在调试模式下,片内ADC转换任何电平值,结果都是最大值,只有当输入值为0V时,有时转换结果为0,但有时还是为最大值。而我接手用的板子刚好是用了第三组调试引脚。而且我一直在用调试模式实验,所以结果总是不对。直到后来在这个芯片的勘误表上,发现了这个问题。我就把程序下载到单片机内,接上液晶显示器,让程序自己运行,转换结果的数据在液晶上就显示正确了。其他什么也没改。
问题就是这样的,我也算对得起大家了。只希望以后我有问题询问时,了解原因的同志们也能热情给一点提示。 谢谢,经验交流 wa wa wa wa 楼主在什么时候上线啊!求指教啊 有时候就是这样,问的时候没人回答。知道的不说还要教育一下别人。 顶一下 我只是路过,看看。。
页:
[1]