你好,
我正在尝试使用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。
我在这里做错了吗?我没有看到外围驱动程序文件中的任何其他建议。
你好,
尝试提高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-semicondiondiond.com/using-adc-read-voltage-divider-v ...
你好 !对话小组,我有两个问题:
1.如何获得与测量电压相同的精确电压,无论我如何设置寄存器,我都无法获得准确的电压?
2.是否无法消除硬件错误,这是由DA14580引起的?