F1xx的RTC只是一个简单的32位计数器,其他系列的则是比较正统的RTC了;$ a; L- l% {7 ~ 在使用STM32CubeMX配置RTC过程中遇到几个问题。 1、自动配置后,每次上电都会重新初始化时间,所以这里需要自己修改一下初始化配置函数,使用BKP_REG_DR*设置标志位; 2、使用自动配置,初始化时间必须使用RTC_FORMAT_BCD,原因是库函数存在bug,如果使用RTC_FORMAT_BIN,月份配置会出错,比如说11月,配置时会赋值为RTC_MONTH_NOVEMBER,而此宏定义值为0x11,也就是说其十进制值为17,使用HAL_RTC_SetDate时,如果使用RTC_FORMAT_BIN模式会直接赋值而没有转换,导致出现月份配置错误。 3、使用F1的RTC,只能实时记录time,而不能实时记录date,date是在获取时间时(HAL_RTC_GetTime)通过函数RTC_DateUpdate自动更新在ram中的,掉电之后date就没了,所以需要间隔性的去记录当前的date。下次上电时根据BKP_REG的值,决定是否读取记录的date值,赋值给hrtc结构体DateToUpdate成员,这样日期也就不会丢失了。- N: F: X) d2 W. B: J, \7 I0 I6 ]' e 6 j2 f* D2 C- c H L1 M; ? |
在高容量 STM32F103xx 微控制器中实现 ADPCM 算法
小马哥STM32F103开源小四轴RoboFly全部资料大放送
游名科技:STM32F103+TMC2160:86步进电机和驱动一体原理图/PCB...
STM32F103标准库开发---SPI实验---读写 W25Q128 外部 Flash
RT-Thread在STM32F103RC上移植
【MCU实战经验】+STM32F103的uCOSII详细移植
STM32固件库分享,超全系列整理
【原创】STM32F103的SPI2的配置函数,DMA发送和接收!
【源代码】STM32F103C8T6最小板搞定CMSIS-DAP和SWO功能
【福利】用STM32库的朋友有福了:STM32F10x_StdPeriph_Lib_V3.5.0chm...
如果不增加硬件成本添加RTC芯片的话,只能按照楼主说的第3点那个方法,自己在备份寄存器中存过了多少秒,然后换算成过了几天,依此类推,再自己规定一个开始的日期就可以换算了。
比如说我规定开始日期是2017年2月25日上午8点整,每过一秒往备份寄存器中加一,如果累计读取备份寄存器出来过了 86400秒,那么现在的时间不就是2017年2月26日上午8点整了吗
谢谢!我后来换了一种方法,直接采用原子例程中的设置和获取时间函数,不采用cubeMX生成的相关时间函数,其余不做变化!
你好!更换CUBE库遇到同样问题,要怎么处理呢?
,楼主厉害,支持楼主