你好,
我通过了Severy Days弄清楚DA14531 PROD_Test如果将通信配置为Tx = P0_0和Rx = P0_1,则DA14531 Prod_Test在开发套件和开发套件中不可易于运行。我发现的是,用于设置UART引脚的port_sel变量保持未初始化。大多数时间包含port_sel变量的内存保持归零P0_0_AND_P0_1_INITIALIZED_FROM_EXT_TOOL常量和应用程序工作的零值。但有时,该内存包含非零值,并且匹配无法通信。
我通过将以下行添加到文件user_periph_setup.c:periph_init()的开头来成功解决了此问题:
port_sel = uart_port_sel;
并将此行添加到user_periph_setup.h中,只是在枚举定义后:
#define uart_port_sel p0_0_and_p0_1_initialized_from_ext_tool;
Best Regards.
Jean-Christian de Rivaz
关键词:
设备:
嗨Jean-Christian,
请参阅AN-B-077:DA14531蓝牙直接测试模式从DA14531支持网页的应用笔记。您将找到应遵循的相应步骤和配置,以便在P00和P01上从2线UART模式运行Prod_test。非常感谢您的评论和反馈,但您提到的修改不需要。只需按照以下步骤操作。我使用DA14531 PRO-DK在我身边测试了它。
1. Please open the prod_test project without any modifications as provided by the SDK6.0.12. \
2.在user_periph_setup.h中,请更改以下GPIOS配置。有关更多信息,请参阅4.1软件设置。
3.编译项目并将FW下载到系统RAM中。这可以通过3个选项思想来完成:
- KEIL IDE by pressing the “Start/Stop Debug session button” twice
- SmartSnippets Toolbox(SST)Booter
- SST RF-Master Firmware Download tool
4.下一步是相应地配置SST。所以,打开SST和“板设置”。您应该为P0_0和P0_1选择UART配置。参见第4.1.1节与RF主站设置RX / TX测试模式以获取更多信息。
5。Now, you should be able to use the RF master!
Thanks, PM_Dialog
Thanks for your response.
我也遵循了这张教学。这在大多数时间工作,但由于未初始化的port_sel变量,结果不可靠。如果port_sel偶然不是零,则不会为UART操作配置端口引脚,并且通信不起作用。在文件夹SDK / 6.0.12.12.1020.2 / projects / target_apps / prod_test时,port_sel变量始于p0_0_and_p0_1_initialized_from_ext_tool常量。
SDK / 6.0.12.1020.2 /项目/ target_apps / prod_test $ eGrep -R port_sel
prod_test / src / config / user_periph_setup.h:extern uint8_t port_sel;
prod_test/src/platform/user_periph_setup.c:uint8_t port_sel __SECTION_ZERO("prodtest_uninit");
prod_test/src/platform/user_periph_setup.c: switch (port_sel)
prod_test/src/platform/user_periph_setup.c: switch (port_sel)
注意:由于某种原因,此问题更频繁地在DA14531“kit-usb”板上比DA14531“Kit-Pro”板上发生。
嗨Jean-Christian,
谢谢你的意见。我会在内部检查并测试您建议的解决方法。再次感谢您的投入!
Thanks, PM_Dialog