STM32WB55 freertos bajo consumo de energía

Modifique app_conf.h para
abrir la macro de soporte de bajo consumo

/**
 *  When set to 1, the low power mode is enable
 *  When set to 0, the device stays in RUN mode
 */
#define CFG_LPM_SUPPORTED    1

Cerrar macro de control de impresión


/**
 * keep debugger enabled while in any low power mode when set to 1
 * should be set to 0 in production
 */
#define CFG_DEBUGGER_SUPPORTED    0//1

/**
 * When set to 1, the traces are enabled in the BLE services
 */
#define CFG_DEBUG_BLE_TRACE     0//1

/**
 * Enable or Disable traces in application
 */
#define CFG_DEBUG_APP_TRACE     0//1

Modifique FreeRTOSConfig.h configUSE_TICKLESS_IDLE para que se
defina como 1 para usar el vPortSuppressTicksAndSleep predeterminado para
definir 2 para usar el vPortSuppressTicksAndSleep personalizado

#define configUSE_TICKLESS_IDLE                  2

Seleccione el modo de bajo consumo de energía como modo de parada

static void APPE_SysUserEvtRx( void * pPayload )
{
    
    
  UNUSED(pPayload);
  /* Traces channel initialization */
  APPD_EnableCPU2( );

  APP_BLE_Init( );
//  UTIL_LPM_SetOffMode(1U << CFG_LPM_APP, UTIL_LPM_ENABLE);
	UTIL_LPM_SetStopMode(1U << CFG_LPM_APP, UTIL_LPM_ENABLE);
  return;
}

El procesamiento de entrada y salida de periféricos de bajo consumo se ubica en las dos funciones de la siguiente figura
Inserte la descripción de la imagen aquí

ConfigEXPECTED_IDLE_TIME_BEFORE_SLEEP en FreeRTOS.h
indica el número de tics inactivos antes de que el sistema entre en un bajo consumo de energía. El
valor predeterminado es 2

#ifndef configEXPECTED_IDLE_TIME_BEFORE_SLEEP
	#define configEXPECTED_IDLE_TIME_BEFORE_SLEEP 2
#endif

Supongo que te gusta

Origin blog.csdn.net/qq_28851611/article/details/108095423
Recomendado
Clasificación