关于2538ADC例程 使用过程中碰到的两个问题:
1.例程中,配置了12位ADC,为何#define CONST 0.58134 //(VREF / 2047) = (1190 / 2047), VREF from Datasheet 中是除以2047(2的11次方),而不是2的12次方?
2.例程中是读取的内部温度传感器,我把例程改为读取PA2上的电压值,为何在测量GND时,会出现2.4V(参考电压满量程1.2V,悬空时为1.2V),寄存器正常是32764(0111 1111 1111 1100),测GND是65304(1111 1111 0001 1000) 。
ZhengQiang Ma:
我把测量脚PA2改为了PA6,现在结果时而正确,时而错误,是什么原因。
Viki Shi:
1、其中一位是符号位
2、请问你的PA2接的什么电路,是否电路不稳造成的?
ZhengQiang Ma:
回复 Viki Shi:
接的就是板子旁边的GND
ZhengQiang Ma:
回复 ZhengQiang Ma:
这是我今天仿真时的值
Viki Shi:
回复 ZhengQiang Ma:
这种情况一般来说是配置问题,GPIO是否配置为模拟输入,AD通道与对应的IO口是否匹配,AD转换后的数据处理方式等
Viki Shi:
另外想明确下,板子是官方版还是自制板?
ZhengQiang Ma:
回复 Viki Shi:
谢谢你的回复,那请问GPIO是如何配置的呢?例程中因为使用的是ADC温度传感器,所以没有配置GPIO。但我不知道该如何配置。
ZhengQiang Ma:
回复 Viki Shi:
是自制版
ZhengQiang Ma:
回复 Viki Shi:
我知道在2530的使用中有一个特殊寄存器APCFG来配置io口为ADC模式,但我在2538中好像找不到这个。
ZhengQiang Ma:
回复 ZhengQiang Ma:
另外我发现,除了PA6有这种数据之外,其余ADC 几路全都是类似65304(1111 1111 0001 1000),65XXX左右的值。