一般来说,RTC的小时制有两种选择,一种是24小时制,一种则是AM/PM制
如图,在45x的用户手册里面,我们可以看到RTC_CTRL寄存器中是有对小时制的选择位的

那么问题来了,现在给你一个时间,你怎么判断当前是上午还是下午呢
对于24小时制来说,这个问题很简单,读出来的小时值小于12即是上午,超过12即是下午
那对于AM/PM格式来说,就需要结合RTC_TSH寄存器的APM位来判断了,如下图,当你的RTC_CTRL寄存器HFMT位选择为AM/PM格式时,在RTC_TSH寄存器中,读取到APM位为0,则当前读回的小时值代表上午;反之则为下午

|