在ADC Val 1中连接温度传感器

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
3个帖子/ 0新
最后一篇
advanchip @ pacbe ...
离线
最后一次露面:3年7个月前
加入:2017-05-10 23:35
在ADC Val 1中连接温度传感器

我正在使用DA14585-00ATDEVKT-P开发套件 - PRO具有DA14585_SDK 6.0.2.243和KEIL UVERSION v5.23.0.0。

我遵循柱3(外围)示例,将温度传感器连接到ADC中以读取温度。

1)user_periph_setup.c:void periph_init(void)的第63行
在这个函数结束时,我添加了
adc_init(gp_adc_se,0,gp_adc_attn3x);
adc_enable_channel(0);

2)user_periph_setup.c:void set_pad_functions(void)的第48行
在这个函数结束时,我添加了
gpio_configurepin(gpio_adc_port,gpio_adc_pin,输入,pid_adc,false);

3)user_periph_setup.h行142之后
我加了
/ **************************************************************************************** /
/ * ADC配置* /
/ **************************************************************************************** /

#if hw_config_basic_dk.
#define gpio_adc_port gpio_port_0.
#define gpio_adc_pin gpio_pin_0.

#elif hw_config_pro_dk.
#define gpio_adc_port gpio_port_0.
#define gpio_adc_pin gpio_pin_0.

#elif hw_config_expert_dk.
#define gpio_adc_port gpio_port_0.
#define gpio_adc_pin gpio_pin_0.

#els //(其他配置)
#万一

4)在user_custs1_impl.c中的第153行,我评论了
// sample =(sample <= 0xffff)?(样品+ 1):0;和补充
sample = adc_get_sample();

在上面执行的行2)gpio_configurepin(gpio_adc_port,gpio_adc_pin,输入,pid_adc,false);
它停在GPIO.C Line 201:
#if development_debug.
#ifndef gpio_drv_pin_alloc_mon_disabled.
if(!(gpio_status&((((uint64_t)1 << pin)<<(端口* 16))))
__asm(“bkpt#0 \ n”);//此PIN尚未保留!
#endif // gpio_drv_pin_alloc_mon_disabled.
#endif // development_debug.

请指导我如何使用ADC从真实设备读取数据而不是生成的数据。

谢谢

关键词:
设备:
mt_dialog.
离线
最后一次露面:1个月2周前
职员
加入:2015-06-08 11:34
嗨advanchip,

嗨advanchip,

您收到错误的原因是因为您在使用之前不要保留针脚。在set_pad_functions()实现之前的user_periph_setup.c文件中有一个名为gpio_reservations()的附加函数,在该函数中,您应该在实际使用之前保留在实际使用之前使用的每个PIN,如果您不这样做,并且在您正在开发时使用它模式将发生您已发布的断言。因此,如果您只添加Reseve_GPIO(ADC_PIN,GPIO_ADC_PORT,GPIO_ADC_PIN,PID_ADC),您将无法获得断言。关于如何使用ADC函数,我建议遵循peripheral_examples \ adc \ bat_lvl中的示例,并在读取实际值之前执行adc_init()和adc_enable_channel(),也请在给定示例中应用相应的延迟(只有在使用3 X衰减器时,您只需要在采样阶段期间额外的1US延迟)。此外,请在使用ADC之前使用ADC_CALIBRATE(),如果使用睡眠模式,您还应重新校准。

谢谢mt_dialog.

advanchip @ pacbe ...
离线
最后一次露面:3年7个月前
加入:2017-05-10 23:35
谢谢。

谢谢。