单片机/MCU论坛
直播中

杨万富

7年用户 1498经验值
擅长:526774
私信 关注

如何使用UART将TRAVEOTM T 2G设备从深度睡眠中唤醒

此代码示例说明如何使用 UART 将 TRAVEOTM T 2G 设备从深度睡眠中唤醒。 在活动模式下,TRAVEOTM T 2G 设备通过 UART 接收数据并回显接收到的数据。 MCU 在接收 “*” 时进入深度睡眠模式,在深度睡眠模式下在 UART_RX 引脚上接收到下降沿信号时进入活动模式。

硬件设置
此示例使用套件的默认配置。 请参阅套件用户指南,确保套件配置正确。

软件设置
IAR 嵌入式 Workbench IDE — Arm 9.30.1 或其他 IDE 支持 TRAVEO TM T2G
如果您没有终端仿真器,请安装终端仿真器。 本文档中的说明使用 Tera 术语。

设计和实施
此应用程序使用 TRAVEOTM T 2G 设备的 SCB [0]。 SCB [0] 配置为在串行终端和 TRAVEOTM T 2G 设备之间传输和接收数据。 SCB [0] 在深度睡眠模式下可用,但是 UART 模式不支持从深度睡眠唤醒。 在这种情况下,要通过 UART 实现从深度睡眠中唤醒,一种选择是使用 UART_RX 引脚的 GPIO 中断作为唤醒源。 在此应用程序中,在设备进入深度睡眠模式之前,UART_RX 信号设置为 GPIO 模式,并从接收到的数据触发 GPIO 中断(下降边)以唤醒设备。 唤醒后,UART_RX 引脚恢复为 UART_RX 功能。 流程图如图 1 所示。

图 1。 该计划的流程图



当设备在深度睡眠模式下收到任何字符时,设备将从深度睡眠中唤醒,将 UART_RX 引脚设置回 UART_RX,然后重启以回声。
请注意:-第一个将被设备忽略。 由于 UART_RX 已更改为 GPIO,因此 UART 模块将无法正确检测起始位。 其机制如图 2 所示。

图 2。如何接收唤醒数据




操作

  • 通过 USB 电缆将入门套件连接到 PC。
  • 打开终端程序,然后选择板载 KitProg3 的 COM 端口。 将波特率设置为 115200 bps,数据位 = 8 位,奇偶校验 = 无,停止位 = 1 位,流量控制 = 无。
  • 使用随附的 main_cm0plus.c 还有 main_cm4.c, 构建 TRAVEOTM T 2G 的 cm0plus 和 cm4 项目。
  • 使用上面提到的 IDE 对套件进行编程。
  • 编程完成后,重置套件。 应用程序将自动启动。
  • 开始键入以查看终端上的回声。
  • 当你键入 “*” 时,MCU 会进入深度睡眠模式,当你在深度睡眠模式下键入任何字符时,MCU 会进入激活模式。

结果



更多回帖

发帖
×
20
完善资料,
赚取积分