STM32G070休眠例程-STOP模式

一、简介

        主控是STM32G070,在低功耗休眠模式时采用Stop0模式,通过外部中断唤醒,唤醒之后,即可开启对应的功能输出,另外程序中设计有看门狗8S溢出,这个采用RTC定时6S周期唤醒去喂狗,RTC唤醒喂狗的过程中,设备现象上看不出来。

        该MCU Stop模式休眠功耗如下;

        该MCU唤醒源如下:

二、配置过程

        1.RTC周期唤醒配置

        2.外部中断唤醒配置

        3.看门狗配置

三、生成代码

        1.STOP0休眠模式

//STOP0休眠模式
LL_PWR_SetPowerMode(LL_PWR_MODE_STOP0);
LL_LPM_EnableDeepSleep();
__WFI();

        2.RTC周期唤醒,外部中断唤醒

//RTC唤醒回调函数 6S唤醒一次
void HAL_RTCEx_WakeUpTimerEventCallback(RTC_HandleTypeDef *hrtc)
{
	g_stuSleepDataHandle.b_u8RtcWakeUpFlag = 1;
	HAL_IWDG_Refresh(&hiwdg);
}	

//外部中断回调函数
void HAL_GPIO_EXTI_Falling_Callback(uint16_t GPIO_Pin)
{
	if((GPIO_Pin == POW_WKUP_KEY_Pin) || (GPIO_Pin == PV_IN_WKUP_Pin))
	{
//		HAL_GPIO_TogglePin(SOC_LED4_GPIO_Port, SOC_LED4_Pin);	//调试
		g_stuSleepDataHandle.b_u8ExtiIntWakeUpFlag = 1;
	}
}

void HAL_GPIO_EXTI_Rising_Callback(uint16_t GPIO_Pin)
{
	if((GPIO_Pin == USB_WKUP_Pin) || (GPIO_Pin == IP2366_INT_WKUP_Pin))
	{
//		HAL_GPIO_TogglePin(SOC_LED4_GPIO_Port, SOC_LED4_Pin);	//调试
		g_stuSleepDataHandle.b_u8ExtiIntWakeUpFlag = 1;
	}
}

四、注意避坑

        1.进入休眠之前,I/O电平根据电路设置,以降低休眠时硬件功耗;

        2.进入休眠之前,所有计时及标志位清零;

        3.唤醒之后,重新初始化一次系统时钟;

        4.RTC唤醒时,不执行功能输出;

### 回答1: STM32G070 LL例程是一种针对STM32G070微控制器编写的低级别驱动程序,用于直接控制外围设备。它具有与硬件直接通信的能力,可以为特定的应用程序提供更高的效率和灵活性。 STM32G070 LL例程的优点之一是,它是基于寄存器级编程的,这意味着开发人员可以对设备的每个寄存器进行细粒度的控制。此外,由于它的代码直接与硬件进行通信,因此可以显著提高系统的性能和响应能力。 LL例程还提供了许多外设驱动程序,包括通用串行总线(GSB)、通用异步接收/传输器(UART)、SPI接口等。每个外设驱动程序都为开发人员提供了底层控制和配置工具,以满足不同的应用要求。 此外,STM32G070 LL例程还包括各种示例程序,以帮助开发人员加快开发速度。这些示例程序涵盖了许多不同的应用场景,并提供了参考实现以及针对不同设置进行的说明。 总之,STM32G070 LL例程是一种优秀的工具,可以帮助开发人员更好、更快速地开发STM32G070应用程序,提高系统的性能和灵活性。 ### 回答2: STM32G070是ST电子推出的一款低功耗高性能的微控制器芯片,该芯片集成了丰富的外设资源,支持多种通信协议,能够满足各种低功耗应用需求。 LL例程STM32芯片的底层外设驱动程序库,具有轻量级、高效率的特点,能够提供更高的性能、更小的代码占用空间和更快的开发速度。 对于STM32G070芯片而言,ST电子提供了LL例程,包括GPIO、USART、SPI、RTC、I2C等外设的驱动程序库,方便开发者在开发过程中快速进行外设的配置和操作。 在LL例程的使用过程中,开发者可以通过ST的官方文档和例程进行学习和使用。其中,例程包括了各种外设功能实现的代码示例,方便开发者进行参考和学习,同时ST还提供了基于HAL库封装的更高层次的API函数,进一步提高了代码的易用性和可维护性。 总之,STM32G070 LL例程为开发者提供了丰富的外设驱动程序库,降低了开发者在STM32G070芯片上进行开发的难度,同时也大大提高了整个开发过程的效率。 ### 回答3: STM32G070是ST公司推出的一款系列低功耗微控制器,拥有高性能、低功耗和丰富的外设。作为一款强大的微控制器,STM32G070需要用到各种不同的例程来对其进行开发和控制,而LL例程则是其中最为重要的一种。 LL例程全称为“Low-Layer(低层)例程”,通常用于直接控制寄存器和外设的寄存器,以便实现更加精细的控制与操作。该例程可以提供更高的精度和更快的速度,同时还可以更加方便地进行定制和扩展。 在STM32G070开发中,可以使用LL例程来实现各种不同的控制功能,如GPIO、UART、SPI、I2C、PWM等等。编写LL例程通常相对比较繁琐,需要同时考虑寄存器地址、位操作和控制失误等因素,但是相对的,也能更加灵活地控制整个外设,从而实现更加高效和精确的控制。 总之,无论是初学者还是专业人士,在STM32G070的开发中都需要掌握LL例程的使用方法和技巧,以充分发挥该微控制器的潜力,并实现自己的设计和应用需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值