完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
因为要用RTC来做芯片的睡眠唤醒,所以要用这个RTC中断唤醒,时间不准也没关系,大概的时间可以唤醒就可以了。
查了网上很多的资料,但是因为都不是这个型号的,所以移植不了,后来查到似乎可以的,但是还是发现RTC没有工作起来,下面把RTC的初始化程序和中断程序带上,请各位高人指点下吧? 这是RTC初始化的 void RTC_chushihua(void) { uint8_t temp=0; uint8_t wliao = 0; RTC_InitTypeDef RTC_InitStructure = {0}; uint32_t LSIFreq = 0; RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); PWR_BackupAccessCmd(ENABLE); RCC_LSICmd(ENABLE); while (RCC_GetFlagStatus(RCC_FLAG_LSIRDY) == RESET) { } /* Reset Backup Domain */ RCC_BackupResetCmd(ENABLE); RCC_BackupResetCmd(DISABLE); RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE); RCC_RTCCLKCmd(ENABLE); /* Wait for RTC APB registers synchronisation */ RTC_WaitForSynchro(); RTC_InitStructure.RTC_HourFormat = RTC_HourFormat_24; RTC_InitStructure.RTC_AsynchPrediv = 99; // <7f RTC_InitStructure.RTC_SynchPrediv = 0x1FF0; // <0x1FFF RTC_Init(&RTC_InitStructure); //Set Default Time/Date RTC_NVIC_Config(); } 下面是关于中断向量的设置 void RTC_NVIC_Config(void) { NVIC_InitTypeDef NVIC_InitStructure; NVIC_InitStructure.NVIC_IRQChannel = RTC_IRQn; NVIC_InitStructure.NVIC_IRQChannelPriority = 0; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); } 下面是RTC中断程序,如果进入中断了,就闪一下LED void RTC_IRQHandler(void) { RTC_ClearITPendingBit(0x0001 | 0x0004); GPIOC->ODR = 0x2000; Delay(0xffff); GPIOC->ODR = 0x0000; Delay(0xfffff); } 我已经确认其他部分是OK了,但是这个RTC始终弄不起来,求教各位高人了。 |
|
相关推荐
7个回答
|
|
谢谢你的提示了,今天终于都解决了,STOP模式下的串口唤醒,KEY唤醒,RTC唤醒都解决了。
其实其中的帮助还有我同事的功劳。在这里也回报下大家: STOP模式的KEY唤醒是属于外部中断模式; STOP模式的串口唤醒其实是把串口接收这个IO口在睡眠前先初始化为KEY唤醒一样的外部中断模式; 虽然会丢个数据,但是和外面的机器加个握手的简单招呼就行。注意醒后要重新初始化串口。 STOP模式的RTC唤醒用内部的LSI或者外部LSE都可以,用外部LSE的时候要确认32K晶体可以正常起振,可以拿示波器看下。但是每次唤醒后都必须重新设置ALARM。这一点STM32的确不太好。 |
|
|
|
|
|
|
|
能请问下马,怎么才能知道LSE跑起来了? |
|
|
|
示波器。
|
|
|
|
|
|
|
|
谢谢分享!
|
|
|
|
ao63203 发表于 2019-5-13 11:37 兄弟,你这个RTC唤醒STOP模式的例程能发给我一下吗?最近也在做STM32F030c8t6的测试,感觉进入不了STOP模式,我QQ 1964439971 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1107 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1055 浏览 2 评论
2159 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1253 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1678 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 14:35 , Processed in 0.822125 second(s), Total 56, Slave 49 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号