AD采样使用AINB3口通过杜邦线接在自己的开发板的某一位置,情况如下:
1.AINB3口通过杜邦线接在TMS320F28027的VCC上 其程序代码如下
printf("\r\nSOC0原始值%0.4d SOC1转换为电压值:%0.2fV",adcVal[1],(float)((adcVal[1])*3.3/4096)); 串口助手显示4095,3.3V 并且数据一直保持不变即为下面输出显示
SOC0原始值4095 SOC0转换为电压值:3.3V
2.AINB3口通过杜邦线接在TMS320F28027的GND上发现上述C代码在串口助手输出显示为
SOC0原始值0057 SOC0转换为电压值:0.05V
SOC0原始值0056 SOC0转换为电压值:0.05V
SOC0原始值0062 SOC0转换为电压值:0.05V
SOC0原始值0052 SOC0转换为电压值:0.04V
SOC0原始值0063 SOC0转换为电压值:0.05V
SOC0原始值0070 SOC0转换为电压值:0.06V
最大的疑问是接GND的时候数值不为零?怎么才能消除这个误差?还有TMS320F28027为3.28V左右也就是说接VCC的时候输出值也是偏大的 这怎么解决?
3.另外关于函数AdcOffsetSelfCal()是怎么使用的?当程序下载到flash中的时候怎么调用才不会出错,在贵公司网站也搜到这个使用解释无奈是英文解释能否做中文的详细说明?
谢谢!