芯源新闻官 发表于 2023-5-22 16:21

CW32 UART低功耗模式介绍

在嵌入式系统的设计中,低功耗设计(Low-Power Design)是许多设计人员必须面对的问题,其原因在于嵌入式系统被广泛应用于便携式和移动性较强的产品中去,而这些产品不是一直都有充足的电源供应,往往是靠电池来供电,所以设计人员从每一个细节来考虑降低功率消耗,从而尽可能地延长电池使用时间。因此,大部分芯片都会有低功耗模式,以CW32L083为例,它就是一个32位低功耗微控制器。

一、芯片模式介绍
1.CW32L083工作模式
CW32L083 支持三种工作模式,由内嵌的电源管理模块自动完成电源的统一管理。三种工作模式是:
• 运行模式(Active mode)
• 休眠模式(Sleep mode)
• 深度休眠模式(DeepSleep mode)
电源上电后,系统自动进入运行模式。用户可通过软件程序,进入休眠或深度休眠两种低功耗运行状态;在低功耗运行状态时,可通过硬件中断触发唤醒机制,使系统返回到运行模式。

2.进入休眠模式或深度休眠模式
使用 M0+ 内核的 ARM 等待中断专用指令,WFI(Wait for Interrupt),配合 M0+ 内核的系统控制寄存器(SCR, System Control Register)的 SLEEPONEXIT 和 SLEEPDEEP 位域,可实现立即进入或退出(中断服务程序)时进 入休眠模式或深度休眠模式。
• 立即进入
执行 WFI 指令,MCU 将立即进入休眠模式(SLEEPDEEP 为 0 时)或深度休眠模式(SLEEPDEEP 为 1 时)
• 退出时进入
将 SLEEPONEXIT 位置 1,当退出最低优先级的中断服务程序后,MCU 会进入休眠模式(SLEEPDEEP 为 0 时) 或深度休眠模式(SLEEPDEEP 为 1 时),而不需执行 WFI 指令 。

在深度休眠模式下,系统将自动关闭高速时钟。如用户需要在深度休眠模式下使部分外设仍保持运行,则须在进入深度休眠模式前,启动相应的低速时钟并将该外设时钟设置为此低速时钟。

3.退出休眠模式或深度休眠模式
在休眠模式或深度休眠模式下,均可通过中断来唤醒 CPU,返回到运行模式。但是,值得注意的是,如果用户在中断服务程序中执行 WFI 命令进入休眠(包括深度休眠),则需要比此中断更高优先级的中断才能唤醒 CPU,因此,我们强烈建议用户在准备进入休眠前,应先处理完所有中断服务程序,并且清除所有中断请求和中断标志。
使用中断退出休眠模式,用户必须在进入休眠(包括深度休眠)前使能此中断的允许位。
中断唤醒退出深度休眠模式时,CPU 运行状态与退出休眠模式相同。

4.UART控制深度休眠模式
UART控制器工作在双时钟域下,支持在深度休眠模式下进行正常的数据收发,并通过接收完成中断唤醒 MCU回到运行模式。
如果设置了传输时钟 UCLK来源为低速时钟,当系统进入深度休眠模式后,高速时钟将停止,低速时钟保持运行,UART仍可以进行正常的数据收发(波特率仅支持 2400 bps、4800 bps 和 9600 bps)。 要实现深度休眠模式下使用 UART 唤醒功能,需在进入深度休眠模式之前使能 UART 接收完成中断(即设置 UARTx_IER.RC 为 1),数据接收完成时,接收完成中断将唤醒MCU恢复到运行模式。
如果设置了传输时钟 UCLK 来源为高速时钟,当系统进入深度休眠模式后,高速时钟会停止运行,UAR不会接收数据。此时,仍可通过GPIO中断唤醒 MCU,实现在深度休眠模式下接收数据,参考配置步骤如下:
步骤 1:使能 UARTx_RXD 对应引脚的 GPIO 下降沿中断;
步骤 2:设置 UARTx_CR1.START 为 1,选择 RXD 信号起始位判定方式为低电平;
步骤 3:使能 UART 接收(即设置 UARTx_CR1.RXEN 为 1);
步骤 4:进入深度休眠模式;
步骤 5:等待主机发送数据,产生 GPIO 下降沿中断,唤醒 MCU;
步骤 6:关闭 RXD 对应引脚的 GPIO 中断功能,等待 RXD 接收完成。

二、实例演示:UART深度休眠模式示例(传输时钟为LSI)
程序运行一段时间后进入深度休眠模式,PC发送数据可唤醒MCU,唤醒后UART轮询接收数据,并存储到TxRxBuffer缓冲区,UART接收到'\n'后不再接收数据,然后将TxRxBuffer缓冲区中的数据回传至PC。传输结束后,LED1闪烁5s,并再次进入深度休眠模式。
1.外设时钟使能
void RCC_Configuration(void)
{
    InitTick(8000000); //复位后延时
    SysTickDelay(1000);
    RCC_HSI_Enable(RCC_HSIOSC_DIV6); //SYSCLK = HSI = 8MHz = HCLK = PCLK
    RCC_LSI_Enable();
    RCC_AHBPeriphClk_Enable(DEBUG_UART_GPIO_CLK | RCC_AHB_PERIPH_GPIOC, ENABLE);
    DEBUG_UART_APBClkENx(DEBUG_UART_CLK, ENABLE); //外设时钟使能
}
2.配置GPIO
void GPIO_Configuration(void)
{
    GPIO_InitTypeDef GPIO_InitStructure = {0};
    DEBUG_UART_AFTX; //UART TX RX 复用
    DEBUG_UART_AFRX;
    GPIO_InitStructure.Pins = DEBUG_UART_TX_GPIO_PIN;
    GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
    GPIO_Init(DEBUG_UART_TX_GPIO_PORT, &GPIO_InitStructure);
    GPIO_InitStructure.Pins = DEBUG_UART_RX_GPIO_PIN;
    GPIO_InitStructure.Mode = GPIO_MODE_INPUT_PULLUP;
    GPIO_Init(DEBUG_UART_RX_GPIO_PORT, &GPIO_InitStructure);
    GPIO_InitStructure.Pins = GPIO_PIN_3; //PC3 LED1
    GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
    GPIO_Init(CW_GPIOC, &GPIO_InitStructure);
    PC03_SETLOW();
}
3.配置UART
void UART_Configuration(void)
{
    UART_InitTypeDef UART_InitStructure = {0};

    UART_InitStructure.UART_BaudRate = UARTyz_BaudRate; // 波特率
    UART_InitStructure.UART_Over = UART_Over_sp; // 专用采样
    UART_InitStructure.UART_Source = UART_Source_LSI; // 传输时钟源LSI
    UART_InitStructure.UART_UclkFreq = UARTyz_UclkFreq; // 传输时钟UCLK频率
    UART_InitStructure.UART_StartBit = UART_StartBit_FE; // 起始位判定方式
    UART_InitStructure.UART_StopBits = UART_StopBits_1; // 停止位长度
    UART_InitStructure.UART_Parity = UART_Parity_No ; // 校验方式
    UART_InitStructure.UART_HardwareFlowControl = UART_HardwareFlowControl_None;
    UART_InitStructure.UART_Mode = UART_Mode_Rx | UART_Mode_Tx; // 发送/接收使能
UART_Init(DEBUG_UARTx, &UART_InitStructure);
}
4.配置低功耗模式
void PWR_Configuration(void)
{
    PWR_InitTypeDef PWR_InitStructure = {0};//低功耗模式配置结构体指针
    PWR_InitStructure.PWR_Sevonpend = PWR_Sevonpend_Disable;
    PWR_InitStructure.PWR_SleepDeep = PWR_SleepDeep_Enable; //Deep Sleep使能
    PWR_InitStructure.PWR_SleepOnExit = PWR_SleepOnExit_Disable;
    PWR_Config(&PWR_InitStructure);// 低功耗模式配置
}
void PWR_GotoLpmMode(void)//进入睡眠模式
{
    __WFI();
}
5.配置NVIC中断
void NVIC_Configuration(void)
{
    NVIC_SetPriority(DEBUG_UART_IRQ, 0); //优先级,无优先级分组
    NVIC_EnableIRQ(DEBUG_UART_IRQ); //UARTx中断使能
}
void UART2_UART5_IRQHandler(void)
{
if(UART_GetITStatus(CW_UART5, UART_IT_RC) != RESET)
    {
      UART_ClearITPendingBit(CW_UART5, UART_IT_RC);
}
}
6.发送8位数组
void UART_SendBuf_Polling(UART_TypeDef* UARTx, uint8_t *TxBuf, uint8_t TxCnt)
{
    while(TxCnt)
    {
      UART_SendData_8bit(UARTx, *TxBuf);
      while(UART_GetFlagStatus(UARTx, UART_FLAG_TXE) == RESET);
      TxBuf++;
      TxCnt--;
    }
    while(UART_GetFlagStatus(UARTx, UART_FLAG_TXBUSY) == SET);
}
7.接收8位数组
uint8_t UART_RecvBuf_Polling(UART_TypeDef* UARTx, uint8_t *RxBuf)
{
    uint8_t RxCnt = 0;
    RxBuf = UART_ReceiveData_8bit(UARTx);
    RxCnt++;
    do
    {
      while(UART_GetFlagStatus(UARTx, UART_FLAG_RC) == RESET); //等待RC
      UART_ClearFlag(UARTx, UART_FLAG_RC); //清RC
      if(UART_GetFlagStatus(UARTx, UART_FLAG_PE|UART_FLAG_FE)) //ERROR: PE or FE
      {
            UART_ClearFlag(UARTx, UART_FLAG_PE|UART_FLAG_FE);
            RxCnt = 0x00;
      }
      else
      {
            RxBuf = UART_ReceiveData_8bit(UARTx);
            RxCnt++;
      }
    }
    while(RxBuf != '\n');
    return RxCnt;
}
8.主程序
int32_t main(void)
{
    RCC_Configuration();//配置RCC
    GPIO_Configuration();//配置GPIO
    UART_Configuration();//配置UART
    PWR_Configuration();//配置低功耗模式
    NVIC_Configuration();//配置NVIC
    InitTick(HCLKFREQ); //初始化SysTick
    RCC_WAKEUPCLK_Config(RCC_SYSCTRL_WAKEUPCLKDIS); //DeepSleep唤醒时,保持原系统时钟来源

    UART_SendString(DEBUG_UARTx, "\r\nCW32L083 UART DeepSleep mode LSE/LSI\r\n");
    while(1)
    {
      //进入深度休眠模式
      UART_SendString(DEBUG_UARTx, "\r\nEnter DeepSleep mode\r\n");
      UART_SendString(DEBUG_UARTx, "\r\nPC send data to wake up MCU\r\n");
      UART_ITConfig(DEBUG_UARTx, UART_IT_RC, ENABLE); //使能UARTx RC中断
      PWR_GotoLpmMode();
      UART_ITConfig(CW_UART5, UART_IT_RC, DISABLE); //失能UARTx RC中断
      //唤醒后轮询收发
      TxRxBufferSize = UART_RecvBuf_Polling(DEBUG_UARTx, TxRxBuffer);
      UART_SendBuf_Polling(DEBUG_UARTx, TxRxBuffer, TxRxBufferSize);
      for(int i = 0; i<10; i++)//闪灯
      {
            PC03_TOG();
            SysTickDelay(500);
      }
    }
}
9.测试结果
结果显示,通过PC发送123456后唤醒MCU, 唤醒后UART轮询接收数据,并存储到TxRxBuffer缓冲区,UART接收到'\n'后不再接收数据,然后将TxRxBuffer缓冲区中的数据回传至PC收到123456。传输结束后,LED1闪烁5s,并再次进入深度休眠模式。
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAi4AAAFGCAYAAABNBRR1AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAFRTSURBVHhe7d0HXBVZgi/+/+7MzoaZ3dnZt+n9/7vvbXpv33Zuu6dz2622ijlhzlnbnDOiGDErKEpOkqMgqCAYUEDEHEBFEQRFxECOv/85596jxRWcTvbrsn/f+ZxPVZ0651TdCz3181Tdy//zpKIKDx+X48GDBywsLCwsLCwsP8lScv+ByivNggsRERHRTxGDCxEREZkGgwsRERGZxjcKLo2NDda15xn3tdSuqanRuvaHtdT2m9bZamxsvY1tf7ndUp18PS3ta67pD+z/7ozj1tbWIjg4GG5ubriac81a+9Nx5coVXL500br1zbX2u2VbL7d1sX2/a+vqcODgIdTV1llrWvaiMW33ERHRT9MLg8vDhw+xY7sL5s2bi+3bd+CquDj5+PlY9wJ3795DQMBePHr0GOud12P2nNkI2BuAhroG1DU0IPHAASxcuBDbXVxQXv5IXHCakJiYiHNnzllHsHj4sAzbtm3DnLlzcGD/AXERaURFeTm8fL0xd/ZsbNi0SZxXCWpqauDl5SOOM1OcjwueiOO2xsHR0boGxO3bj7S0NLVecDtfHGcubly/rrbLxWteuGgB5syYAadVq3CvpATXrt3A/HkLMGP6NEybNgULFyzAlatXVHtbgUF7MUu0mzd/AYKDQlFVVWnd891VV1cjIDAA82bPwfr1zigrLVPBJSIiHJ27dIZvYKC15U/H7t1ucN/jad36Zgpv3oZ/QPPXUllZDl8/P8ydOwubtmwRv1tlqKypxNIlSzBz+izMnjEL0VHR1tYWZ7MyMW3qdDQ2NOK6+LmGhIda91hUV9cgJDgUc2eJ93PDRhTfKRC/O0/Ez3gepkyZgpnTZiBo70/vPSUioue1GlwaGuoxcuRwLFq8SF30Y2JjcDorGwP691cBRJYrly9h/vyFuHevWFxUw5CaegRfdW6PnKu5KBNhZOHihTiSlAL7Afbw9/eXkxNYv84Zsfv2qWNI8l/Pa9asw7JlS1X/Lj264/TpLERFRmPc+EnIzMzAfBF+Nm/ZhMePHyEmOkrUpWPM2DEIi4iwjvK8//PGG9Y1YO269XD32KPW3T09MXbcOKxet0Ztl96/jy52XXH0eBpmz54pLmLT8KT8IbLPnMbMGbOxboMzsrOz1bFbMm7SJPjvDcKRIykYNmQIXFxd1Htzp7hYXIADEBkRherKatW2uqpanH80fHx8UVhcpOqSDx/BqTNZ8PP1x9GjR1Wdv68PxowZi5MnTiA2JhpF9+6pemmBCFF+huBSWV6JiPBIePv6oqioUNXJkHPw4CF4uHsiNzdHnc+5cxfEazyK0LAQyzlVWM7J1sOHD5C4PxHhwXuRdfo0fD19UF7xGDXi4n8w8SDcdu8RvweZIiTIWYpGEULPYKf7HkwYORaeIrio1y6CgbeXF8KjolBR0XqQO3s2G+O+nmTdsvD1D8DoMaNxXPw84vcl4J4Ix48flqPtF5/j4KFDyMrKQkFBgbW1/P1pwvQ5s56+d+kZJzBLBD7jDEq4+D0ZNGwwjh09hkMJici9cQP1dbU4dSoTAwYOEO+3H27m3ba2JiKin7JWg8v1a9dh16ULamqeXeCKiooxcNBgcWG6g+07tokLawZWr12jLmA5OTkIDQnHwP6DVZCRGhosU/dOTivhtsddXWSc1zuLEBSr6qUnT55g0KBBuJ1/E8HBQXjvnbexcdMmZIuLZq8+veHl7YUxw4fhxPGTqn1e3i1ER8aIUDNOXECzVF1L/vON16xrwLp1a7F71y7xL+8qjBs3VgSR0+jTty+qRKAoe1Ci1u/cuwsX0Wbq1KnWXsCGjRvEhT7MutUyGVzOnM5W62cys9C9Rw/1+vv36Ycd23Zg7rxZcFyxQr0XixYvwYJly7DNeTOGiAupnFUaOXQkunTtArddLvis7Re4cOECwsMj0FWMk3kqQ82+GM2fOw/Bfpbg0iQuzvMXzMcKxxXYtGkrBg4YoGa2drm4YtL0KfBw3Y2efXuJ9+w6XFxc8NY772Dd6rUYLI7t6+2txrCVk3Mdr73+GgYNHozPPv0Mnbt1Q1BIiOi/A2PHjIG7uxvatu+A48eOIzMjA3169oGPtycGDe2PPSIo3b0rXvvgQXDbuRNz5szAylVO4rW3fBvmtAg9kyZ/bd2yCBHH6iqOmZ5+4unsVdnDx/jo448QGBiEBBE8bubnqXrp7u076DdwoAraUnr6SRE4ZzYLLvvi9qFTx04igB8T70+5tVbeKmrE1OnTRdg5Za0hIqKfulaDyzFxYepvP0CEjWfPE5SWlmLY0KHYGxSMznadESyWW7duRqNoI/81LG/B2HXrhLOGW0Hnz55H//72uH073xJc1ongEh1j3SsuSmUPYde5i7jIzcWcefPExX47logL/N3iYvTq2RODxfE+/fhzcUE/r9qfFoHGUVyoe4gLe0xs81sGRv/7v/7TumYJLjI45V7JwcRJk1UYGDd6jPjX+ymUiNf0+huvw06Eh7ZftMXNGzetvYCtmzZ/w+ByRq3n3cxDt+7dkHI4Fe/9vg2cN6zHsuWOaN+hHUrLSvH7D9/DmjVOWLt2Nd76rzdQUJCP8WPHISZCvo4mLFy8FD5e3qivr0d8fBxGjRqF/gMGqlt02vyF85/OuJQ9KMUXn32OVSIcrF2zGp98+okIZWfRR4QmGWjWrNuALnadELMvBjtEmJEzSvKCnpKUhPHjJqgxbMkA2r1Pd8TGxGLp4gXivV4uAske9B80EDdFmJWC9gZhuQhgKx0cEBYRqX6u7p7u6nZRasoRtGvbDs7Ozli8aDE6dPxKBJAq1c/W2bNnMGH8ROuWhQzKcbH7MHr0KAwcMhjXcq+h4mEZfv/Oe+L9WYRV4r1LT0+3toYIVK4IDN5r3QJOnpQzLnNVKNHq6+UzMAcwYeJEDBjYXwTCTHXO8nd76pQpOJV12tqSiIh+6loNLjfzbuHjTz9Wz59ocnZk2MjRmPz1RHjs2YNJX0+Gp6fl9oAkLwTe3j5Yu3q92r544SLsB/THJWvokO02iItp9L5nMy4V5VXiX8MdsWHDRtTW1ogL3gZ4enmKAOMiLpqOqBcXWnnLY+q06dYeFqkpKZgiQog+tq233n4bD0osr0XOeOwNCcae3e5o8/77GDthIj4QF/mVK5xwXwSXfr174VpOrghjXZAkLurahk0bERbW+u0oSQaXbDXz04SofdEYPnKkuHimo0P7DggNDRElVI35sOwBPvzoYwTu3Yuw8HA1i1FRUYFxY8bjYMIhNda8hfMQHh4iLrqW2YP6unpsXr8B02fOVtvS/HnPgsv9sjK0a98egWJbjhkZFaFurfTv3x87tm8Xxw5ChDj/2/m3scPVFUuWLFH94vbFi4v7TLVu6/r1PPEzHoS4uDg4r12j3rs9Hh7o26cvcnOvqp+xr68PVq1ZI4LJUsTGWkLo6rVrxfvrheSkRPTs3RN7g8MQEhyMA4kHWp1xsQSX5gFKz9LV1dVipaMTHByWqRmXr8TvyN27d9U+Tc6eDBsxFPeKntXLUDNz5synMzCSHlO+n3tEuJoydapalyFu6vSpyMqwzOYREdFP3wsfzp0/Zx569e6DTRs3q9mAwvybGGTfHxPExfrK5St4p807CAsNR35+Ply27sAacaHr27sfLl46j9u3b+ONN98SgWMmdmx1QUBAoHr2Yo3zGkyc/DW2b9sOLxFIKqor4evji5EjRmHlqtXo0cMOxUXFIjCEonvXbtiyYZO6rbLbfbea8dnj5o6NIuQMHTEYcQcOWM/0eXJWZuTwYVi3Zi06d+mC29dvYsSoUdgfH69ux6Qkp8Cuox3y8vIwZPAgVNbUqoDRo3tP8S/0WjXG9q2bEB4RqdZbM0n8i33x4sVwdHDEF+2/xPGjR8UF9bG6eC9YtEQEtY3Y5eamLpKLly7BpIkTsGXjVqx0csKTiscYJV736DEjxEV6BXr16iPe/1Jx0Q/G6lVrsHXLNnTr0U0EkGCUP3kMH28vdO7YCaNGjkVUdLSaOVq8bAm+njwJ27ZuF+M7iCBYCTdxcR4yeDC2bdmKJUuX4eZNy62izz77DM4iOHYV7+vpMy3PMuTm5mLkqNFI2J8A543OcFrlJH52/tjp5ooBQ4ZgjdM6dLKzw/Xcyzh44BC69eyKuQsX4Yt2n8PHwwf3S+7DXvyOOK5YqR4s3r17T6vB5dy5M2jfob34/dihzj8//xZ8/PywavVabNqwBV169kRsXDSePHyCjz//WPws14t2W3H0iOV5lpTkVCxburzZ7Ep6Rjo6i9e3fbMrtmzagpu38sXvaIT6fZDvZ7/+9vB09xIhvEKEOTd82a69CIyLkHhwv3UEIiL6KXthcJH/6k07cVzdLpHPnNSIi7u8FSAv/PJ2RmJCAgoLbuNu0T2EhIZiX2wECkRgkUrFOKGhYQgO3qtuKSWKC2GdCC4Xzl9EUFCgepYhKjpSHKMGDfUNOJ52FFFRUWI8y4OXcvYlPSMTIeHhyEzPUG0ePXyEiMgoUSJx49o1NDW2PNsiVddU4tChg4gU7W+JcFJfV4e040fUeUvy9kGyCCplZaWiPk1sN6CpoQmJ8XHi4l+h2ly8cgWFty0PvLYmKz1Lvc59Mftwp7Dw6QxQSUmJmo2IjInF3eI7qk4GjdTkAwgLj8RlEfzkBXf0iDFYssQBEVExuH+/RLW7e+8eEg4kIDQkFJcuXVbtKsqrESPGCgkJVu9pckqKmlWQYyYdSESUeJ8uX7yoji8D4jERoORsUVbWafVzlJ/s6tu7lzh2hAidl1udqSp/VI4T6ekoKCjEhYtX1M9aBlP58zgpH+4ND8Otm5bbaXX1NTiaelQEmAO4eS0P16/nqvri4ruIiohC/L7oZu+JrdL7pep3a2+I+B0Rvw9FRUVqVmV/XAIiQ0Nw6eJ5Ffjk7EhsbKz6PZLtss9mi9dUh4UicBw7fsw6mkVJ8X01yxUSEqTay+PL91X+LoSEheBMdrb6HaiqqhBjifH2BiFEtMvIPGEdgYiIfspeGFy+rcZWLlBm8qO+AnGw8WPHIynx2e2pl0UGl6VLLbeKXgWV1RWIVp9aevawLRERvfp+0OBC397FC2dRWmqZaXmZbt3KQ+5Vy4zIq0DO4rQ2k0NERK8uBhciIiIyDQYXIiIiMg0GFyIiIjINBhciIiIyDQYXIiIiMg0GFyIiIjINBhciIiIyDQYXIiIiMg0GFyIiIjINBhciIiIyDQYXIiIiMg0GFyIiIjINBhciIiIyDQYXIiIiMg0GFyIiIjKNHyy41NfXoq62xrplHnU1tYiIjoGnlxeu5V611v50XLp8CVevXLFuERER/by9MLi4uO3ErFkzMHv2TLhs24TGpibrnueFBAdjX1y8dev7CwoNEceehbnz5iA8Mhw11dXWPd9dVVUlwsPDMU+MuW3rFpQ9fID6unqEhgShV5fu8A8IsLb86XBzc8OuXbusW0RERD9vLwwuvXr3QoB/IE6mZ+DCxUuqLik5GVevXoafXwDST2SgSYSZyMhoDB02FJMnTYK7uzuysrJEyyYUFRXC3z8ASQcPobrGEjxSDqcgNzcHQUHByD6drepasmjRIrjt3ImUIyno168/Nm3aJGrlmHcQGBCIpKSDqK2pU23Ly59gX2wswsLCUPagVNUdTknBpcsXERISgrQTJ9R5hodGwn5Afxw9ckycc4QYq0i1leTx/MVr1Z48EWPu2yfOMwQPHz5UdQ0N9Ug7dhw+Pj64fv2aqrt06TLOXziPmOh9iBPtq6srVb2t+/dLceTYEURGRYr38gIiIsLx+PFDVFdVIenQQfj6+uHKlcuqrTzXK5evijp/jB03AXvc9qj6e/fuITg4RBwnThzn+wc5IiIis3lhcOnRsyf2BgYiMyMD129cV3X9B/RD2/ZtsXLFSnT4qgNuiHoZGOzt+2HsmLFwcXFBRvpJ3C8txYChg7Bq1SoMGz4Me9z3oLGxCb379EG3Ht2wctVKfPTJhygovKPGtbV44SIcPpKq1i+J0GTXpQtycq+hT78+WL9uvQhKw0WwcUNtXR1mzJmFGTNnYf7cefh6ytfiol6F4cOGobNdZzgsc8BHn36EG3k3EBoWgj59+4jgdQV1dfVqbE0GFz8RsqQqET7mz12AefPnYcH8+Rg3cbwKCn6+3hg8fAjWOzuja7duKC6+g91uu/H+e+9i9txZ4tz6wcfXV4zw/MzU6TNn8Na7bTCk/xC89/v30bZde8QnxGPrtq0YNGQo1q9ciU/bthXvZx4unM9GZzH+pg0b0E0sZXApe/AQI0eNguPylRg3eRycVjmhsan5ayAiInrVvTC4dO/ZXYSOoZg9azq8PHxU3cCB/RATEysu/CIwzJqF7MxsNUPg6roDwcF7VRspJfUwOtl1gq+XL9avccaAAQNQV1unltHREaqNr48X8sSFuiVLFi/BsdTjaj2/qAi9e/WAn7cf+vXqA29vX6xbux797Pvi7t1itHn3HXh4eIlz9EK79u1EGCrE8OHDEREervo7rliBkJAgFT78AwLRt789xo8Zj5uinWaccbl56zrat++A3SIYee7xwudffIn827fRs3svbFi/BX5efuglAlh8fCx2iuCyYNFC9R4cTk3GjBnT0dDQoMYxOn/mLOz79lAzRZMmT8SaNWsQFhGB7j16ifO9rdrIkOexxx0rVixHcFCQqtvtvksFl7QTx0VYsoOPpw9ctruKft3UrBAREdHPyQuDSx9xcT57/qx1y0IGl5SUFBVcZs2ZgzOnz6j6nbtc4eHppdal5OQkdOrYEXvcPeC+x03dmqmvrxP9B+Hk8XRrq9YtWroQKYcPq/XkQ4dEv/4ICw5F997dsNvDU4zrjujIKNy9dxfvvPMOdu1yg9uePfD19sejsocYMWIEUpJSVKBYsGCpuu3T2NCoxpPn4eC4AovnzVPb**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***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

huangcunxiake 发表于 2023-5-23 15:04

发现高手们都喜欢用do while.

七毛钱 发表于 2023-5-23 16:14

高手与高手之间是心灵相通的吧,哈哈

gaoyang9992006 发表于 2023-5-26 09:45

这个功能好,串口唤醒MCU。

duo点 发表于 2023-6-5 11:42

这功能强悍

jackcat 发表于 2023-7-5 10:07

降低电压可以减少电路中的能量消耗

wwppd 发表于 2023-7-5 10:17

使用UART通信时,可以利用中断功能来减少CPU的功耗。

youtome 发表于 2023-7-5 10:38

通过减小波特率,可以降低数据传输时钟的频率,从而减少电路中的功耗。

pentruman 发表于 2023-7-5 10:50

能在低功耗模式下使用CW32 的串口吗

xiaoyaodz 发表于 2023-7-5 10:59

可以增加UART通信的空闲时间,即在数据传输之间添加额外的延迟。

lzmm 发表于 2023-7-5 11:14

需要通信时,可以通过唤醒中断或其他触发机制将UART模块重新唤醒。

sdCAD 发表于 2023-7-5 11:34

降低UART的传输速率可以减少功耗。

primojones 发表于 2023-7-5 11:51

可以让UART在空闲状态下更长时间进入低功耗模式

minzisc 发表于 2023-7-5 12:18

将不需要进行通信的UART模块置于睡眠状态可以节省能量。

timfordlare 发表于 2023-7-5 12:31

当UART不需要传输数据时,可以通过关闭发送和接收功能来降低功耗。

jackcat 发表于 2023-7-5 13:28

可以降低数据传输时钟的频率,从而减少电路中的功耗。

benjaminka 发表于 2023-7-5 13:51

低功耗实现方法取决于所使用的UART芯片或模块的规格和特性

deliahouse887 发表于 2023-7-5 14:08

在传输数据时根据接收端的缓冲区状态来控制数据流量。这可以有效地减少数据丢失和冗余传输

pssyx 发表于 2023-8-16 09:54

yszong 发表于 2023-8-15 21:27
进入深度休眠模式后UAR不会接收数据

UART可以接收数据的。因为UART工作时钟为LSI,CW32进入DeepSleep之后,LSI正常工作。如果PC端发送数据,UART的RX中断将唤醒MCU,从而进入UART的RX ISR,正常接收数据。

XIOAWEIYAOMB 发表于 2023-9-18 12:06

1111
页: [1] 2 3
查看完整版本: CW32 UART低功耗模式介绍