连接ADC VAL 1中的温度传感器

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
3个帖子/ 0个新帖子
最后发表
advanchip@pacbe……
离线
最后看到:3年11个月前
加入:2017-05-10二三35
连接ADC VAL 1中的温度传感器

我使用DA14585-00ATDEVKT-P Development Kit - Pro与DA14585_SDK 6.0.2.243和Keil uVersion V5.23.0.0。

我遵循支柱3(外设)的例子,连接温度传感器到ADC读取温度。

1)第63行user_peripher_setup .c
在这个函数的末尾,我添加了
adc_init(GP_ADC_SE, 0, GP_ADC_ATTN3X);
adc_enable_channel (0);

2) user_peripher_setup .c的第48行
在这个函数的末尾,我添加了
GPIO_ConfigurePin(GPIO_ADC_PORT, GPIO_ADC_PIN, INPUT, PID_ADC, false);

3)在user_peripher_setup .h的第142行之后
我添加了
/****************************************************************************************/
/* ADC配置*/
/****************************************************************************************/

#如果HW_CONFIG_BASIC_DK
#定义GPIO_ADC_PORT GPIO_PORT_0
#定义GPIO_ADC_PIN GPIO_PIN_0

# elif HW_CONFIG_PRO_DK
#定义GPIO_ADC_PORT GPIO_PORT_0
#定义GPIO_ADC_PIN GPIO_PIN_0

# elif HW_CONFIG_EXPERT_DK
#定义GPIO_ADC_PORT GPIO_PORT_0
#定义GPIO_ADC_PIN GPIO_PIN_0

#else //(其他配置)
# endif

4)在user_custs1_impl.c的第153行,我注释掉了
//sample = (sample <= 0xffff) ?(样本+ 1):0;并添加
示例= adc_get_sample ();

GPIO_ConfigurePin(GPIO_ADC_PORT, GPIO_ADC_PIN, INPUT, PID_ADC, false);
它停在gpio.c 201线:
#如果DEVELOPMENT_DEBUG
的ifndef GPIO_DRV_PIN_ALLOC_MON_DISABLED
如果(! (GPIO_status & (((uint64_t) 1 < <销)< <(港口* 16))))
__asm(“BKPT # 0 \ n”);//这个pin码以前没有被保留过!
# endif / / GPIO_DRV_PIN_ALLOC_MON_DISABLED
# endif / / DEVELOPMENT_DEBUG

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

谢谢

关键词:
设备:
MT_dialog
离线
最后看到:5个月1个星期前
工作人员
加入:2015-06-08 34
嗨advanchip,

嗨advanchip,

你得到错误的原因是因为你没有保留pin在使用它。user_periph_setup.c文件之前set_pad_functions()实现有一个额外的函数命名GPIO_reservations(),这个函数应该保留每个销,您使用的是在实际使用之前,如果你不这样做,虽然你在开发模式您已经发布的断言将发生。因此,如果您只是添加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年11个月前
加入:2017-05-10二三35
谢谢。

谢谢。