跳到主要内容

唤醒通过UART CTS PIN延长睡眠

1年前

唤醒通过UART CTS PIN延长睡眠

张贴了Mark.Palomer.0分 3回复
0旋转

我正在尝试配置DA14531以使用扩展睡眠模式,但是正在运行唤醒唤醒时,如果通过UART接收到数据,则代码陷入循环时等待UART返回错误时返回FALSE初始化,看门狗定时器超时。当CTS线路启用以防止此时,我试图将其唤醒。目前我已完成以下操作:

da1458x_config_advanced.h中定义的cfg_external_wakeup.h所以ext_wakeup定义为1

定义为UART1 CTS端口的External_wakeup_gpio_port作为UART1 CTS PIN,extent_Wakeup_gpio_poolity in user_periph_setup.h为0,

在user_periph_setup.c中配置唤醒引脚():gpio_configurepin(external_wakeup_gpio_port,sentents_wakeup_gpio_pin,input_pullup,pid_gpio,false);

有什么我缺少的吗?有没有不同的方法来解决这个问题?

1年前

PM_DIALOG.

嗨mark.palomer,

感谢您在线的问题,在DA14531解决方案中为您的中断。请您分享更多的投入吗?你想从CTS或RX醒来吗?在唤醒后和Periph_init()呼叫之前,您是否立即配置UART?UART_IS_BUSY_GETF()仅在UART_BAUDRATE_SETF()函数中调用。此外,您能否在很长一段时间内检查零TX吗?是否有可能探测UART信号并共享UART跟踪?您使用的是哪个项目?任何其他输入,它将有助于我们复制问题并找到路线原因会非常有用。

谢谢,PM_DIALOG.

1年前

Mark.Palomer. 0分

收到数据时,我只需要它唤醒。UART在App_On_ble_powered回调中配置,该回调在Periph_init()之后调用。

我正在研究的项目是基于SDK的BLE_APP_PROFILE项目,但我正在尝试将DSP项目的更改添加到其中。据我所知,您需要UART的RTS / CTS正确地使用睡眠模式。但是,启用RTS / CTS似乎没有工作。您是否能够描述DSP项目如何处理如何在睡眠时通过UART接收数据的情况?

1年前

PM_DIALOG.

嗨马克,

DA14531的DSP现在可用!您可以使用它而不是在SDK的BLE_APP_PROFILE中实现此功能。如果需要通过CTS唤醒设备,则应为此范围配置唤醒控制器。请检查BLE_APP_SLEEPMODE示例,了解如何配置唤醒控制器。

但是,我的建议是使用DSP。请检查产品页面的源代码:

https://www.dialog-seminile.com/produ亚博电竞菠菜cts/dialog-serial-port-service-dsps.

在“用户手册”中,您会发现DSP是如何工作的以及它如何处理传入数据。

谢谢,PM_DIALOG.