Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RTC
国民技术_N32G45x
n32g45x使用硬件rtc的问题
发布于 2024-09-10 16:31:35 浏览:223
订阅该版
- 默认每次上电都重置备份BKP,导致每次上电RTC时间都会重置为2000年. - 这个rtc驱动文件, `rt-thread/bsp/n32/libraries/n32_drivers/drv_rtc.c` ```c static rt_err_t n32_rtc_init(void) { /* Enable the PWR clock */ #if defined(SOC_N32G45X) || defined(SOC_N32WB452) || defined(SOC_N32G4FR) RCC_EnableAPB1PeriphClk(RCC_APB1_PERIPH_PWR | RCC_APB1_PERIPH_BKP, ENABLE); RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_AFIO, ENABLE); #elif defined(SOC_N32L43X) || defined(SOC_N32L40X) || defined(SOC_N32G43X) RCC_EnableAPB1PeriphClk(RCC_APB1_PERIPH_PWR, ENABLE); RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_AFIO, ENABLE); #endif /* Allow access to RTC */ PWR_BackupAccessEnable(ENABLE); #if defined(SOC_N32G45X) || defined(SOC_N32WB452) /* Reset Backup */ BKP_DeInit(); #endif ``` - 默认每次上电都重置备份BKP,导致每次上电RTC时间都会重置为0.正确的做法是: ```c PWR_BackupAccessEnable(ENABLE); ``` 后面添加读备份数据校验, ```c /* Allow access to RTC */ PWR_BackupAccessEnable(ENABLE); if (USER_WRITE_BKP_DAT1_DATA != BKP_ReadBkpData(BKP_DAT1) ){ #if defined(SOC_N32G45X) || defined(SOC_N32WB452) /* Reset Backup */ BKP_DeInit(); #endif ... ... ... if (rt_rtc_config() != RT_EOK) { rt_kprintf("rtc init failed.\n"); return -RT_ERROR; } BKP_WriteBkpData(BKP_DAT1, USER_WRITE_BKP_DAT1_DATA); } return RT_EOK; ``` USER_WRITE_BKP_DAT1_DATA 为任意数据 - 这样只有第一次初始化才会设置RTC的始终,时间等等. - 上电调用 time(RT_NULL); 会触发RTC初始化.
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
saviourxx
这家伙很懒,什么也没写!
文章
1
回答
2
被采纳
0
关注TA
发私信
相关文章
1
RTC驱动框架几点建议
2
求助:RTT在STM32F407上使用内置的RTC设置日期需重启生效,设置时间即时生效,有遇到同样问题的吗?
3
[新人试水] LPC1768 Nano3_9 添加RTC
4
STM32 关于RTC的问题
5
stm32f4xx-HAL BSP的RTC设置不对
6
关于STM32的RTC设置年份不正确的问题
7
RTT的RTC驱动调试
8
rtc驱动中的bkp模块起不到防止时间的重新设置
9
rtc时钟跑十几个小时后,比实际时间快几秒怎么解决
10
stm32如何断电之后开发板rtc时间继续往前跑
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
I2C_IIC
ESP8266
UART
WIZnet_W5500
ota在线升级
cubemx
PWM
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
keil_MDK
SFUD
msh
ulog
C++_cpp
MicroPython
本月问答贡献
出出啊
1518
个答案
343
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
813
个答案
177
次被采纳
crystal266
549
个答案
161
次被采纳
whj467467222
1222
个答案
149
次被采纳
本月文章贡献
出出啊
1
篇文章
3
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
3
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部