psoc 5 ADC输出校正问题

[复制链接]
1253|8
 楼主| xiaxingxing 发表于 2015-10-26 16:15 | 显示全部楼层 |阅读模式
psoc 5 CY8CKIT-050开发板,

t1=ADC_GetResult16();
t2=ADC_CountsTo_mVolts(t1);
LCD_Position(0,0);
LCD_PrintNumber(t1);
LCD_Position(1,0);
LCD_PrintNumber(t2);
LCD显示的结果为:
255(ADC的分辨率是8位)
5089

请问,通过滑动变阻器,我的模拟输入明明是0~3.3V,为什么会得出5089mv(5.089V),而不是3300mV呢?在线等,请各位高手帮忙分析一下。
关小波522 发表于 2015-10-26 17:02 | 显示全部楼层
你用的是芯片自带的ADC?
关小波522 发表于 2015-10-26 17:03 | 显示全部楼层
参考电压是多少
zheng522 发表于 2015-10-26 17:23 | 显示全部楼层
怎么会是8位的呢
huihui520 发表于 2015-10-26 20:52 | 显示全部楼层
楼主把你的问题详细的说下
 楼主| xiaxingxing 发表于 2015-10-30 12:02 | 显示全部楼层
关小波522 发表于 2015-10-26 17:02
你用的是芯片自带的ADC?

恩,自带的ADC.
 楼主| xiaxingxing 发表于 2015-10-30 12:03 | 显示全部楼层

我设置ADC模块的分辨率为8位(可选8~20位)
 楼主| xiaxingxing 发表于 2015-10-30 14:38 | 显示全部楼层

最纠结的就是这个参考电压,系统默认的参考电压VDDA是5V,这个时候通过函数t1=t1=ADC_GetResult16();t2=t1*VDDA/255,(ADC分辨率设为8位)如果我把VDDA设为5v,打印到1602上的最大值就是5v,如果我把VDDA设为3.3v,打印到1602上的最大值就是3.3v,可我开发板上的滑动变阻器输出的最大电压明明就是3.3V啊  ?还有一个问题,我现在要用ADC去转换一个未知大小的信号,VDDA该如何设置呢?
 楼主| xiaxingxing 发表于 2015-10-30 14:40 | 显示全部楼层
huihui520 发表于 2015-10-26 20:52
楼主把你的问题详细的说下

用ADC模块,输入电压为板载的滑动变阻器电压(0~3.3v),t1=t1=ADC_GetResult16();t2=t1*VDDA/255,(ADC分辨率设为8位,#define VDDA   3.3v),,,如果我把VDDA设为5v,打印到1602上的最大值就是5v(对应的t1=255),如果我把VDDA设为3.3v,打印到1602上的最大值就是3.3v(对应的t1=255),可我开发板上的滑动变阻器输出的最大电压明明就是3.3V啊  ?还有一个问题,我现在要用ADC去转换一个未知大小的信号,VDDA该如何设置呢?
请帮忙解答下,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

87

主题

1120

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部