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

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

你好,

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

我有端口0引脚0保留如下:
Reserve_gpio(batt_meas,gpio_bat_meas_port,gpio_bat_meas_pin,pid_adc);
gpio_configurepin(gpio_bat_meas_port,gpio_bat_meas_pin,input,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天16小时前
加入: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-spemiconductor.com/ususion-adc-read-weat-divider-v ...

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

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