完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
// //PWR-Register // #define PWR_CR (*((volatile unsigned long *)0x40007000)) #define PWR_CSR (*((volatile unsigned long *)0x40007004)) // // // RTC-Register // // #define RTC_CRH (*((volatile unsigned long *)0x40002800)) #define RTC_CRL (*((volatile unsigned long *)0x40002804)) #define RTC_PRLH (*((volatile unsigned long *)0x40002808)) #define RTC_PRLL (*((volatile unsigned long *)0x4000280C)) #define RTC_DIVH (*((volatile unsigned long *)0x40002810)) #define RTC_DIVL (*((volatile unsigned long *)0x40002814)) #define RTC_CNTH (*((volatile unsigned long *)0x40002818)) #define RTC_CNTL (*((volatile unsigned long *)0x4000281C)) #define RTC_ALRH (*((volatile unsigned long *)0x40002820)) #define RTC_ALRL (*((volatile unsigned long *)0x40002824))
void RTC_Configuration(void) { RCC_APB1ENR|=0x18000000; //电源接口时钟使能, 备份接口时钟使能 PWR_CR|=0x00000100;//位8,允许访问RTC 寄存器和备份寄存器 RCC_APB1RSTR|=0x08000000;//位27 BKPRST 备份接口复位RCC_BDCR|=0x00000001; //位0 LSEON 外部低速振荡器使能 while(RCC_BDCR&0x00000002==0); // 位1 LSERDY 外部低速振荡器可用 RCC_BDCR|=0x00000100; //选择LSE位RTC时钟 RCC_BDCR|=0x00008000; //位15 RTCEN RTC 时钟使能 RTC_CRL|=0x10; //位4 配置标志,1: 进入配置模式 while(RTC_CRL&0x04==0); //位3 RSF: 寄存器同步标志while(RTC_CRL&0x20==0); //位5, 在RTC 寄存器上最近一次写操作已经完成 RTC_CRH=0x01;//使能1S中断while(RTC_CRL&0x20==0); //位5, 在RTC 寄存器上最近一次写操作已经完成 RTC_PRLL=0xFF;//(1S中断应该是32767,但我的晶振不准,0xFF都是1S多) while(RTC_CRL&0x20==0); //位5,在RTC 寄存器上最近一次写操作已经完成 RTC_CRL&=0xFFEF; //位4,退出配置模式(开始更新RTC 寄存器). SETENA0|=0x00000008; //允许RTC中断 }
发布
记录我的stm32开发学习过程
1085 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1041 浏览 2 评论
有什么比较热门的嵌入式项目?
2145 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1240 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1660 浏览 1 评论
电子发烧友网
电子发烧友论坛
查看 »
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 04:33 , Processed in 0.583677 second(s), Total 34, Slave 28 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com