使用DA14681 SWD PIN作为ADC

了解更多常见问题解答教程

6个帖子/ 0新
最后一篇
Mahmed106.
离线
最后一次露面:1个月1天前
加入:2019-05-03 17:28
使用DA14681 SWD PIN作为ADC

嗨对话框

我使用基于DA14681的板,我想使用6个热敏电阻,并且我必须使用一个与SWD引脚共享的ADC引脚,(SWD CLK和SWDIO)。

我暗示了这个PIN,但它没有工作,然后从这个查询开始,我开始意识到,需要禁用调试器为此引脚工作,(https://support.dialog-semicondiondiondum/forums/post/dialog-smartbond-bl ...

但仍然没有进展。

1,我不知道代码中的位置我需要禁用调试器。我在外围设备启动之前做过这一点,我认为它禁用了调试器,CZ现在JTAG没有编程电路板。所以我不得不通过suota燃烧代码..

如果我的JTAG禁用此ADC引脚的CZ,我可以通过串行编程基于型代码的代码吗?

第二即使禁用调试器后,我的ADC仍然没有读取任何数据,还读取了代码中缺少的其他任何数据?

请帮忙,谢谢

设备:
PM_DIALOG.
离线
最后一次露面:15分5分钟前
员工
加入:2018-02-08 11:03
嗨mahmed106,

嗨mahmed106,

谢谢你的问题。如附带的论坛帖子中所述,P2_4用于SWCLK和ADC,因此您应该禁用调试器,以防您想要用作ADC引脚。

应在系统初始化和Periph_Init()函数之前禁用调试器。在Periph_init()中,您应该将P2_4配置为ADC引脚。通过这种方式,您的软件中禁用了调试器,因此无法使用JTAG接口与QSPI闪存进行交互。您可以使用UART接口(erase_qspi_serial_win / program_qspi_serial_win脚本而不是使用用于擦除/编程的JTAG接口进行擦除/编程JTAG接口。

如果在应用程序层中禁用调试器,则应首先擦除UART,然后您可以使用JTAG进行编程。在应用程序代码中禁用调试器,并不意味着永久调试器禁用。

另一种可能的解决方案可能是每次要使用ADC外围块都会重新配置P2_4到ADC。使用它以捕获ADC后,您应该将其配置回SWCLK。

谢谢,PM_DIALOG.

Mahmed106.
离线
最后一次露面:1个月1天前
加入:2019-05-03 17:28
嗨对话框

嗨对话框

谢谢你的建议,我试过这种方法

“每次想要使用ADC外围设备都会将P2_4重新配置P2_4到ADC。在使用它以捕获ADC后,您应该将其配置回SWCLK。”

我能够通过JTAG进行编程,当我禁用调试器时,但我的ADC值读取为零,,,,,,,,,,,,,为本为什么ADC仍然无法正常工作,

所有其他ADC都正常工作。

是否有任何其他设置我需要为ADC执行此PIN P2_4?

PM_DIALOG.
离线
最后一次露面:15分5分钟前
员工
加入:2018-02-08 11:03
嗨mahmed106,

嗨mahmed106,

谢谢你跟进我的方法。您需要做的就是在系统初始化中或使用P2_4作为ADC引脚之前禁用调试器(首先按所建议首先重新配置它)。您不应该为P2_4执行任何特殊配置。请尝试我的第一个方法并在系统初始化(Periph_init()呼叫之前禁用调试器?在此之后,您应该在periph_init()中配置P2_4和ADC引脚。

谢谢,PM_DIALOG.

Mahmed106.
离线
最后一次露面:1个月1天前
加入:2019-05-03 17:28
是的,我已经完成了你

是的,我已经提到了,我已经提到了。,我已经在Periph init和periph init之前的调试器,我已经使这个引脚成为ADC(下拉配置)
此ADC仍然无法正常工作,其他ADC正在正常工作。

PM_DIALOG.
离线
最后一次露面:15分5分钟前
员工
加入:2018-02-08 11:03
嗨mahmed106,

嗨mahmed106,

因此,如果禁用调试器,只有P2_4不用为ADC引脚?您能否分享P2_4配置以及如何使用ADC适配器?

谢谢,PM_DIALOG.