首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RTC唤醒无法编辑: USB VCP与RTC唤醒混淆

RTC唤醒无法编辑: USB VCP与RTC唤醒混淆
EN

Stack Overflow用户
提问于 2014-08-23 19:59:07
回答 1查看 1.6K关注 0票数 1

我试图在stm32f4发现上配置唤醒事件,我正在使用coocox中的一个修改过的示例。

代码语言:javascript
复制
NVIC_InitTypeDef NVIC_InitStructure;
EXTI_InitTypeDef EXTI_InitStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
PWR_BackupAccessCmd(ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_HSERDY) == RESET);
RTC_WriteProtectionCmd(DISABLE);
RCC_RTCCLKConfig(RCC_RTCCLKSource_HSE_Div8);
RCC_RTCCLKCmd(ENABLE);
RTC_WaitForSynchro();

RTC_InitTypeDef rtcinit;
rtcinit.RTC_HourFormat = RTC_HourFormat_24;
rtcinit.RTC_AsynchPrediv = 99;
rtcinit.RTC_SynchPrediv = 9999;
RTC_Init(&rtcinit);

EXTI_ClearITPendingBit(EXTI_Line22);
EXTI_InitStructure.EXTI_Line = EXTI_Line22;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);

NVIC_InitStructure.NVIC_IRQChannel = RTC_WKUP_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);

RTC_WakeUpClockConfig(RTC_WakeUpClock_CK_SPRE_16bits);
RTC_SetWakeUpCounter(0x0);
RTC_ITConfig(RTC_IT_WUT, ENABLE);
RTC_WakeUpCmd(ENABLE);

RTC_TimeTypeDef time;
RTC_TimeStructInit(&time);
time.RTC_Hours = 12;
RTC_SetTime(RTC_Format_BIN,&time);

我的问题是中断从来没有发生过。RTC本身工作得很好。

好像我忘了用

代码语言:javascript
复制
RTC_ClearFlag(RTC_FLAG_WUTF);
RTC_ClearITPendingBit(RTC_IT_WUT);

之后

代码语言:javascript
复制
RTC_WakeUpCmd(ENABLE);

现在它应该能工作,但是奇怪的问题从这里开始

我正在使用这个库https://github.com/xenovacivus/STM32DiscoveryVCP

用于USB VCP。

我注意到,当我移除

代码语言:javascript
复制
USBD_Init(&USB_OTG_dev, USB_OTG_FS_CORE_ID, &USR_desc, &USBD_CDC_cb, &USR_cb);

唤醒工作正常,但当我使用此功能时,中断只发生一次、两次或从不(基于二极管闪烁),这取决于我把它放在哪里(在其他外围设备初始化之间进行了测试)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-13 00:32:24

在文件usb_bsp.c中,注释行

代码语言:javascript
复制
RCC_APB1PeriphResetCmd(RCC_APB1Periph_PWR, ENABLE);

对我起作用了。致以问候。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25465851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档