使用ADC读取端口0引脚0电压

7个帖子/ 0新
最后一篇
马达
离线
最后一次露面:5年4个月前
专家
加入:2014-01-20 21:48
使用ADC读取端口0引脚0电压

你好,

我正在尝试使用ADC读取端口0引脚0,并且我总是从ADC_GET_SAMPLE()获得0的值。

我有端口0引脚0保留如下:
保留_GPIO(BATT_MEAS,GPIO_BAT_MEAS_PORT,GPIO_BAT_MEAS_PIN,PID_ADC);
gpio_configurepin(gpio_bat_meas_port,gpio_bat_meas_pin,输入,pid_adc,false);

然后我试图阅读这样的ADC:
adc_init(gp_adc_se,gp_adc_sign);
ADC_ENABLE_CHANNEL(ADC_CHANNEL_P00);//注意:使用的通道更改 - ADC_CHANNEL_VBAT3V);
UINT16_T ADC_SAMPLE = ADC_GET_SAMPLE();
adc_disable();

当我这样做时,我总是得到adc_sample == 0。

我在这里做错了吗?我没有看到外围驱动程序文件中的任何其他建议。

R.Gantner.
离线
最后一次露面:4天15小时前
加入:2014-01-18 13:57
你好,

你好,
尝试提高P0.0上的电压。如果电压低于0.2V(?这是假设?),您将始终为0。

RVA.
离线
最后一次露面:3天13小时前
职员
加入:2014-02-07 14:10
嗨,我有一个工作示例

嗨,我在下面使用ADC有一个工作示例:

uint16_t adc_read_p01_channel()
{
UINT16_T ADC_SAMPLE;

// ADC init.
adc_init(gp_adc_se,0);//单个结束模式

adc_enable_channel(adc_channel_p01);// adc_channel_p01.
adc_sample = adc_get_sample();//开始转换
返回(ADC_SAMPLE);
}

主要区别是第一行中变量的显式声明:UINT16_T ADC_SAMPLE;

你能在你的榜样中给这个吗?
最好的祝福,
RVA(对话)

马达
离线
最后一次露面:5年4个月前
专家
加入:2014-01-20 21:48
我把它在我的devkit上工作

我用你的代码,RVA了解我的devkit。它看起来像我的硬件的问题可能是硬件:p

谢谢您的帮助。

HRG.
离线
最后一次露面:2年3个月前
格鲁鲁
加入:2014-08-05 13:37
对于P0.0,您的代码是它的

对于P0.0的代码总是显示00 !!以及为什么每个端口引脚P0.0,0.1,0.2,0.3,不同的电压???

马达
离线
最后一次露面:5年4个月前
专家
加入:2014-01-20 21:48
HRG,我也仍然拥有

HRG,我也仍然有问题。
它看起来可能是硬件错误,因为ADC使用直接施加到销但不具有电阻分频器的电压。您是否尝试过使用直流电源来测试您的ADC?如果这是有效的,那么您的问题可能是电阻分频器。

我在这里为电阻分频器问题创建了一个新问题:http://support.dialog-semicondiondiond.com/using-adc-read-voltage-divider-v ...

jeremy_xu.
离线
最后一次露面:5年4个月前
加入:2015-07-23 07:47
你好 !对话小组,我有两个

你好 !对话小组,我有两个问题:
1.如何获得与测量电压相同的精确电压,无论我如何设置寄存器,我都无法获得准确的电压?
2.是否无法消除硬件错误,这是由DA14580引起的?