嗨对话框
我使用基于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仍然没有读取任何数据,还读取了代码中缺少的其他任何数据?
请帮忙,谢谢
设备:
嗨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.
嗨对话框
谢谢你的建议,我试过这种方法
“每次想要使用ADC外围设备都会将P2_4重新配置P2_4到ADC。在使用它以捕获ADC后,您应该将其配置回SWCLK。”
我能够通过JTAG进行编程,当我禁用调试器时,但我的ADC值读取为零,,,,,,,,,,,,,为本为什么ADC仍然无法正常工作,
所有其他ADC都正常工作。
是否有任何其他设置我需要为ADC执行此PIN P2_4?
嗨mahmed106,
谢谢你跟进我的方法。您需要做的就是在系统初始化中或使用P2_4作为ADC引脚之前禁用调试器(首先按所建议首先重新配置它)。您不应该为P2_4执行任何特殊配置。请尝试我的第一个方法并在系统初始化(Periph_init()呼叫之前禁用调试器?在此之后,您应该在periph_init()中配置P2_4和ADC引脚。
谢谢,PM_DIALOG.
是的,我已经提到了,我已经提到了。,我已经在Periph init和periph init之前的调试器,我已经使这个引脚成为ADC(下拉配置)
此ADC仍然无法正常工作,其他ADC正在正常工作。
嗨mahmed106,
因此,如果禁用调试器,只有P2_4不用为ADC引脚?您能否分享P2_4配置以及如何使用ADC适配器?
谢谢,PM_DIALOG.