This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC3200:LPDS 唤醒时、UART1 Rx

Guru**** 2577385 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/575362/cc3200-uart1-rx-when-lpds-wake

器件型号:CC3200

您好!

从 LPDS 唤醒时、我尝试保持 UART1的状态、但它不工作。

我遵循 IDLE 配置文件、下面是我的 USER_APP_CONFIG 设置:

/*------ 在此处添加任何特定于应用的模块--- *
{
PRCM_UARTA0、 /*模块 ID */
UARTA0_BASE、 /*基本地址*/
INT_UARTA0、 /*中断*/
e_freq_mhz80、 /*频率*/
(volatile unsigned long*)(arCM_BASE +
APPS_RCM_O_UART_A0_CLK_Gating)、/*时钟寄存器*
E_PM_S1、 /*最低 PM */
UART_SETTINGS、(&U) /*细节*/
null、 /* SW 驱动程序*/
null、 /*下一个项目*/
CLK_ENbl_op、 /* Clk en op */
CLK_dsbl_op、 /* Clk DS op */
UART_DRIVER_LOAD /*驱动程序 LD */
}
,{
PRCM_UARTA1、 /*模块 ID */
UARTA1_BASE、 /* Base Addr */
INT_UARTA1、 /*中断*/
e_freq_mhz80、 /*频率*/
(volatile unsigned long*)(arCM_BASE +
APPS_RCM_O_UART_A1_CLK_Gating)、/*时钟寄存器*
E_PM_S1、 /*最低 PM */
uart1_settings (&U)、 /*细节*/
null、 /* SW 驱动程序*/
null、 /*下一个项目*/
CLK_ENbl_op、 /* Clk en op */
CLK_dsbl_op、 /* Clk DS op */
UART_DRIVER_LOAD /*驱动程序 LD */
}

以下是首次引导时初始化 UART1的方法:

MAP_UARTIntRegister (UARTA1_BASE、UART_A1_IntHandler);

//启用 UART1中断并设置 FIFO 电平
MAP_UARTIntEnable (UARTA1_BASE、UART_INT_RX|UART_INT_RT);
UARTFIFOLevelSet (UARTA1_BASE、0、UART_FIFO_RX2_8);//每4个字节

platform_init();

当它从 CLK 中唤醒时、除了没有从 UART1中看到数据外、一切都正常。

谢谢、Tom

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Tom、

    您如何进入 LPDS?

    如果使用电源管理框架、它应该是自动的、因此如果您明确地调用 LPDS、它可能会中断正常流、并且无法重新配置外设

    亚伦
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我将通过调用 OSI_SLEEP (10)进入睡眠模式
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我想我已经将问题缩小到了 DMA 与中断间的关系。 如何将 PM 框架设置为使用 UARTA1_INT_Handler 函数而不是 DMA?

    cc_uart_config 结构的格式是位加密。