你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32g071的rtc初始化后会直接进入中断怎么办?

[复制链接]
威加海内 提问时间:2026-7-4 12:57 / 未解决

虚无HAL_RTC_MspInit(RTC_HandleTypeDef HRTC) { RCC_PeriphCLKInitTypeDef PeriphClkInit = {0}; if(hrtc->实例==RTC) { / 用户代码开始 RTC_MspInit 0 */

/ 用户代码结束 RTC_MspInit 0 初始化外设时钟 / PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_RTC; PeriphClkInit.RTCClockSelection = RCC_RTCCLKSOURCE_LSI;/ /*

if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK) { Error_Handler(); }

/ 外围时钟启用/ __HAL_RCC_RTC_ENABLE(); __HAL_RCC_RTCAPB_CLK_ENABLE(); /RTC 中断 Init / HAL_NVIC_SetPriority(RTC_TAMP_IRQn,1,0); HAL_NVIC_EnableIRQ(RTC_TAMP_IRQn);

以上初始化的msp函数中最后4句每走一步都会使唤醒中断标志位置,最后一句执行完后干脆进入中断,我是利用RTC的唤醒模式做stop模式的唤醒用以实现低功耗,以下为基本代码:

MX_RTC_Init();

__HAL_PWR_CLEAR_FLAG(PWR_FLAG_WUF);

HAL_PWR_EnterSTOPMode(PWR_MAINREGULATOR_ON, PWR_STOPENTRY_WFI);//进入停止模式 SystemClock_Config();

HAL_Delay(100); MX_USART1_UART_Init(); HAL_UARTEx_ReceiveToIdle_DMA(&huart1, USART1_DMA_RX_BUF, 1000); 初始化RTC后,进入停止模式,然后等待唤醒恢复时钟后,运行串口的空闲中断,发现一系列运行下来后直接进入串口的接收,没有进入stop模式,用断点发现rtc初始化后会进一次中断,但是手册上写的明明是rtc的唤醒计数器清0后才会进入中断,附件中cubeMX设置图片

收藏 评论0 发布时间:2026-7-4 12:57

举报

0个回答

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版