使用DA14681 SWD引脚作为ADC

了解更多常见问题教程

6个职位/0个新职位
最后一篇文章
马赫迈德106
离线
最后一次见到:1个月2周前
已加入:2019-05-03 17:28
使用DA14681 SWD引脚作为ADC

嗨对话框

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

我混淆了这个pin,但它没有工作,然后从这个查询我意识到调试器需要被禁用,这个pin才能工作(https://support.dialog semiconductor.com/forums/post/dialog-smartbond-bl。。。)

但仍然没有进展。

1通常我不知道我需要在代码中的什么地方禁用调试器。我在外设初始化之前做了这个,我想它禁用了调试器,现在cz JTAG没有对主板进行编程。所以我不得不通过索塔烧掉密码。。

如果我的JTAG被禁用了这个ADC引脚的cz,我可以通过串口编程基于SUOTA的代码吗?

第二,即使禁用调试器,我的ADC仍然不读取数据,还有什么我在代码中丢失的吗?

请帮忙,谢谢

设备:
PM\U对话框
在线的
最后一次见到:12分钟前
工作人员
已加入:2018-02-08 11:03
你好,mahmed106,

你好,mahmed106,

谢谢你的问题。正如所附的论坛帖子中提到的,P2泷4用于SWCLK和ADC,因此您应该禁用调试器,以防您想用作ADC pin。

应该在系统初始化时以及在periph_init()函数之前禁用调试器。在periph_init()中,您应该将P2_4配置为ADC引脚。通过这种方式,调试器在您的软件中被禁用,因此您不能使用JTAG接口与QSPI flash交互。您可以使用UART接口(erase\u qspi\u serial\u win/program\u qspi\u serial\u win scripts),而不是使用JTAG接口擦除/编程flash。

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

另一种可能的解决方案是,每次您想使用ADC外围块时,都将P2琰4重新配置为ADC。在使用它捕获ADC之后,应该将其配置回SWCLK。

谢谢,下午好

马赫迈德106
离线
最后一次见到:1个月2周前
已加入:2019-05-03 17:28
嗨对话框

嗨对话框

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

“另一种可能的解决方案可能是,每次要使用ADC外围块时,都要将P2琰4重新配置为ADC。使用它捕获ADC后,应将其配置回SWCLK

我可以通过JTAG编程,当我禁用调试器时,但是我的ADC值读取为零,,,,,我现在不知道为什么ADC仍然不工作,,

所有其他ADC都工作正常。

有没有任何其他设置,我需要做的ADC工作在这个引脚P2\ U 4?

PM\U对话框
在线的
最后一次见到:12分钟前
工作人员
已加入:2018-02-08 11:03
你好,mahmed106,

你好,mahmed106,

谢谢你跟随我的方法。您所需要做的只是在系统初始化中或者在将P2泷4用作ADC引脚之前禁用调试器(当然,首先根据建议重新配置它)。您不应该对P2琰4进行任何特殊配置。请尝试我的第一种方法并在系统初始化中禁用调试器(在调用periph\u init()之前)?之后,您应该在periph\u init()中配置P2\u 4和ADC引脚。

谢谢,下午好

马赫迈德106
离线
最后一次见到:1个月2周前
已加入:2019-05-03 17:28
是的,我做的正是你

是的,我做的和你提到的完全一样,我在periph init之前禁用了调试器,在periph init中我把这个pin作为ADC(下拉配置)
但这个模数转换器仍然不工作,其他模数转换器工作正常。

PM\U对话框
在线的
最后一次见到:12分钟前
工作人员
已加入:2018-02-08 11:03
你好,mahmed106,

你好,mahmed106,

所以,如果调试器被禁用,只有P2泷4不能作为ADC引脚工作?你能分享一下P2泷4的配置和你是如何使用ADC适配器的吗?

谢谢,下午好