|
bryx4ctpiib64024211.gif
点击上方蓝色字体,关注我们
然而,使用仿真器直接监视RTC内部的SEC、MIN等寄存器时,却发现它们在达到0x59后正常进位,这表明RTC本身的计时功能并无问题。
仔细观察后,我们发现了一个关键规律:当秒数超过09后,显示值会直接跳跃到16,然后继续递增。这一现象表明,问题可能出在数据格式的转换上。由于RTC内部采用BCD编码格式,而我们在通过UART输出到串口调试助手时将其当作十进制数据处理,导致了显示上的偏差。
针对这一问题,我们对UART的输出处理格式进行了相应修改。经过调整后,串口调试助手上显示的时间终于恢复正常,验证了我们的分析是正确的。
综上所述,RH850 MCU的RTC内部寄存器采用独特的BCD编码格式,这要求我们在处理相关数据时必须特别注意格式转换。否则,很容易引发类似的误解和问题。
nevxvqq3tld64024311.jpg
m52oyzn4abm64024411.gif
点击阅读原文,更精彩~ |
|