|
使用CubeIDE+hal库开发的时候,遇到一个很奇怪的问题。
开启了一个2ms周期的软件定时器,来读取RTC中的时间和日期,并将时间显示到数码管中(2ms刷新一次)
因为还有其他要显示的内容,如温度数据,此时通过按键来改变标志位,默认标志位flag=0,数码管显示时间,按键按下,flag++,当flag=3的时候,对flag清0,此时数码管应该再显示时间
但实际运行发现,刚上电时,数码管是能正常显示的,但是当按键按下,flag从0->1->2->0,一个周期后,数码管就不能正常显示了,通过debug发现,调用HAL_RTC_GetTime(&hrtc, ¤t_time, RTC_FORMAT_BIN);
其中current_time的时分秒全被清0了,不知道是什么原因会导致结构体成员清0
按键采用的PA0
|
|