你好,
我正在尝试使用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。
我在这里做错了吗?我在外围驱动程序文档中没有看到其他建议。
你好,
尝试增加P0.0上的电压。如果电压低于0.2V(?这是一个假设?),您将始终获得0。
嗨,我在下面有一个工作示例,涉及使用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(对话)
我用您的代码RVA在Devkit上工作。看起来我的硬件的问题可能是硬件:P
谢谢您的帮助。
对于带代码的P0.0,它始终显示00!为什么每个端口销p0.0,0.1,0.2,0.3在不同的电压下???
HRG,我仍然有问题。
看起来可能是硬件错误,因为ADC可与直接施加到引脚的电压一起使用,但不能与电阻分隔器一起使用。您是否尝试使用直流电源测试ADC?如果有效,那么您的问题可能与电阻分隔线有关。
我在这里为电阻分隔线问题创建了一个新问题:http://support.dialog-spemiconductor.com/ususion-adc-read-weat-divider-v ...
你好 !对话团队,我有两个问题:
1.如何获得与测量电压相同的准确电压,无论我如何设置寄存器,我都无法获得准确的电压?
2.是否无法消除硬件错误,这是由DA14580引起的?