了解更多常见问题教程

2个职位/ 0个新职位
最后发表
dsandbue
离线
最后看到:1年7个月前
加入:2017-02-15 14:09
ADC在PXP-Reporter

你好,

我想在PXP-Reporter演示中实现一个AD-Conversion。因此,我在peripher_init()中实现了以下代码:

hw_gpio_set_pin_function(HW_GPIO_PORT_1, HW_GPIO_PIN_3, HW_GPIO_MODE_INPUT, HW_GPIO_FUNC_ADC);/ / ADC-Pin

Static gpadc_config CFG = {
.clock = HW_GPADC_CLOCK_INTERNAL,
.input_mode = HW_GPADC_INPUT_MODE_SINGLE_ENDED,
.input = HW_GPADC_INPUT_SE_P13,
.input_attenuator = true,
.oversampling = 1,
};

hw_gpadc_init (cfg);

hw_gpadc_enable ();

hw_gpadc_start ();

现在,在pxp_reporter_task中,我像这样每秒钟检查一次这个值:

unsigned int batvolad = 0;

BattVoltAD = hw_gpadc_get_value ();

hw_gpadc_start ();

不幸的是,结果很糟糕。不管我把引脚1_3连接到地或V33,值在163到768之间跳跃。我是不是漏掉了什么?

奇怪的是,当我调试代码时,它总是挂起在sys_power_mgr.c -> pm_system_init() ->

提前谢谢,
菲利普

关键词:
ADC
设备:
IM_Dialog
离线
最后看到:1周2天前
加入:2016-12-06 22:25
因为你正在使用PXP

当你正在使用PXP报告器演示,然后我假设ADC适配器在使用,即以下定义在custom_config_qspi.h:

#定义dg_configGPADC_ADAPTER 1

如果是这种情况,那么我建议使用适配器与ADC进行接口,您可以通过查看文件pxp_reporter_task.c中的read_battery_level函数来了解这是如何实现的。看看没有定义dg_configUSE_SOC时所包含的函数的版本。