Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RTC
国民技术_N32G45x
n32g45x使用硬件rtc的问题
发布于 2024-09-10 16:31:35 浏览:49
订阅该版
- 默认每次上电都重置备份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
机器人操作系统 (ROS2) 和 RT-Thread 通信
4
国产MCU移植系列教程汇总,欢迎查看!
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总线
ART-Pi
FinSH
USB
文件系统
DMA
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
ESP8266
I2C_IIC
ota在线升级
WIZnet_W5500
UART
flash
packages_软件包
cubemx
PWM
freemodbus
BSP
潘多拉开发板_Pandora
定时器
ADC
中断
flashDB
socket
Debug
GD32
编译报错
msh
keil_MDK
rt_mq_消息队列_msg_queue
C++_cpp
at_device
MicroPython
ulog
本月问答贡献
rv666
7
个答案
2
次被采纳
踩姑娘的小蘑菇
5
个答案
2
次被采纳
张世争
8
个答案
1
次被采纳
用户名由3_15位
7
个答案
1
次被采纳
zchong
6
个答案
1
次被采纳
本月文章贡献
Licy
3
篇文章
1
次点赞
rtt_dmx
1
篇文章
5
次点赞
jaffer
1
篇文章
5
次点赞
flytianya2010
1
篇文章
2
次点赞
BRICK PORTER
1
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部