75
886
2655
初级工程师
要想驱动RTC很简单,查看stm32f10x参考手册找到以下图片内容,就有思路了。
90a5e150c60d4c9d8afa864b33af5ecb.png (166.16 KB ) 下载附件 2022-8-23 14:12 上传
90a5e150c60d4c9d8afa864b33af5ecb.png (166.16 KB )
下载附件
2022-8-23 14:12 上传
c23b573fcd764528a0defb9088c4dc37.png (39.2 KB ) 下载附件 2022-8-23 14:12 上传
c23b573fcd764528a0defb9088c4dc37.png (39.2 KB )
经过参考手册介绍
LSE晶体是一个32.768kHz的低速外部晶体或陶瓷谐振器。它为实时时钟或者其他定时功能提供 一个低功耗且精确的时钟源。
我们选用LSE时钟源。
使用特权
4315363047095916e8.png (133.93 KB )
2022-8-23 14:15 上传
void rtc_init(void) { NVIC_InitTypeDef NVIC_InitStruct; RCC_APB1PeriphClockCmd(RCC_APB1Periph_BKP,ENABLE); //使能BKPEN位 RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR,ENABLE); //使能PWREN位 PWR_BackupAccessCmd(ENABLE); //使能PWR_CR的DBP位 RCC_LSEConfig(RCC_LSE_ON); //配置LSE时钟源开 RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE); //RTCCLK时钟源配置为LSE RCC_RTCCLKCmd(ENABLE); //使能RTCCLK配置生效 RTC_WaitForLastTask(); //等待RTOFF位为1 RTC_EnterConfigMode(); //进入配置模式 RTC_WaitForLastTask(); //根据配置RTC寄存器得 每次写RTC的寄存器都要等待RTOFF位为1 RTC_SetCounter(1672502392); //RTC从这个数开始计时 这是时间戳 可以上网查时间戳转换 RTC_WaitForLastTask(); //再次等待写入完成 RTC_SetPrescaler(0x7fff); //预分频设定为0x7fff = 32.767 LSE为32.768Khz分频后约得 1KHZ RTC_WaitForLastTask(); //再次等待写入完成 RTC_ITConfig(RTC_IT_SEC,ENABLE);//RTC中断配置,让秒中断使能 RTC_WaitForLastTask();//再次等待写入完成 RTC_ExitConfigMode(); //离开配置模式 RTC_WaitForLastTask();//再次等待写入完成 NVIC_InitStruct.NVIC_IRQChannel = RTC_IRQn; //NVIC是总中断配置 选择RTC这个中断通道 NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE; //中断使能 NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = 2; //中断优先级2 NVIC_InitStruct.NVIC_IRQChannelSubPriority = 3; //同等优先级下 这个中断优先级3 NVIC_Init(&NVIC_InitStruct); //让上面配置生效 }
519526304718cde143.png (461.51 KB )
2022-8-23 14:19 上传
/* 函数功能:RTC读取 函数参数:无 函数返回值:无 函数描述:无 */ void Rtc_Read(void) { RTC_WaitForSynchro(); //软件等待RTC_CRL中的RSF位置1 TIME = RTC_GetCounter();//正式读取 timeinfo = localtime(&TIME); //用time.h头文件里面的函数进行 数据处理 }
627526304742da8df6.png (22.86 KB )
2022-8-23 14:31 上传
132
742
2205
37
3833
8607
技术达人
72
4296
9652
3890
8649
36
3615
8496
46
3949
9351
34
3994
9606
42
3968
8829
发表回复 本版积分规则 回帖后跳转到最后一页
1
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注21ic项目外包
扫码关注21ic视频号
扫码关注21ic抖音号
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才 | 论坛帮助
京公网安备 11010802024343号
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/longjintao1/article/details/124530740 ———————————————— 版权声明:本文为CSDN博主「龙大龙」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/longjintao1/article/details/124530740