睡眠模式和UART TX / RX

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
2个帖子/ 0新
最后一篇
zhongc @ iLink-wi ...
离线
最后一次露面:5个月2周前
加入:2017-05-09 12:36
睡眠模式和UART TX / RX

嗨对话小组,
我们的项目使用两个UART,一个(UART1)进行调试,另一个(UART2)与GSM模块进行通信。
如果我设置了静态const sleep_state_t app_default_sleep_mode = arch_sleep_off,则可以在JTAG调试模式下进行Tx / Rx数据并在闪存模式下刻录。但是如果我更改app_default_sleep_mode = arch_sleep_on.uart1和uart2可以在JTAG调试模式下工作。但是如果我将FW刻录到Flash Init.only Uart1工作,UART2无法发送和接收数据。
我有两个问题:
1.为什么如上所存在?
2.我尝试配置app_default_sleep_mode = arch_sleep_on.and,当我想使用uart2时,我将睡眠模式更改为arch_set_sleep_mode(Arch_sleep_off),但仍然可以不起作用。谢谢。

设备:
mt_dialog.
离线
最后一次露面:2个月3周前
职员
加入:2015-06-08 11:34
嗨钟,

嗨钟,

我并不确定我得到了这种情况,你完全做了什么,你究竟尝试打印,但我的假设是你试图打印并在设备上进入睡眠时使用UART模块当XTAL16断电或尚未结算时,为了打印数据,您需要XTAL稳定,以便生成所需的波特率。SDK实现了ARCH_PRINTF()函数功能以用于调试,这将推动您想要在队列中打印的数据,并仅当设备具有确定和正确工作的XTAL16时才会通过UART发送它们送达BLE事件)。因此,您可以确保XTAL16正确解决并运行(一个回调,您确定XTal16正在运行的是App_On_ble_powered,因此您可以将打印功能放在该回调中,它们应该是OK)。我假设你在睡眠模式和调试中的设备打印的原因是因为调试器仍然附加到设备上,所以它不会睡觉(你在通过JTAG下载FW时Dettach调试器吗?)。显然,当运行它从闪存时,设备在睡眠模式下正确地进行了正确,这就是为什么没有打印。

谢谢mt_dialog.