博客專欄

        EEPW首頁 > 博客 > 瑞薩RH850 RTC計時進位異常

        瑞薩RH850 RTC計時進位異常

        發布人:美男子玩編程 時間:2024-07-29 來源:工程師 發布文章

        RH850 MCU的RTC(實時時鐘)采用BCD(二進制編碼的十進制)編碼格式,支持閏年自動識別,并具有秒、分、時、日、周、月、年的進位功能。其中,秒和分為60進位,時為12或24進位,周為7進位,日根據月份不同為28、29、30、31進位,月為12進位,年則為00~99年。


        近期,我們在使用瑞薩MCU RH850的RTC時遇到了一個計時進位異常問題。通過UART打印時間變量時,發現秒和分的進位并非預期的60進位,而是錯誤地表現為90進位。這一現象引起了我們的關注。


        圖片

        然而,使用仿真器直接監視RTC內部的SEC、MIN等寄存器時,卻發現它們在達到0x59后正常進位,這表明RTC本身的計時功能并無問題。

        仔細觀察后,我們發現了一個關鍵規律:當秒數超過09后,顯示值會直接跳躍到16,然后繼續遞增。這一現象表明,問題可能出在數據格式的轉換上。由于RTC內部采用BCD編碼格式,而我們在通過UART輸出到串口調試助手時將其當作十進制數據處理,導致了顯示上的偏差。

        針對這一問題,我們對UART的輸出處理格式進行了相應修改。經過調整后,串口調試助手上顯示的時間終于恢復正常,驗證了我們的分析是正確的。

        綜上所述,RH850 MCU的RTC內部寄存器采用獨特的BCD編碼格式,這要求我們在處理相關數據時必須特別注意格式轉換。否則,很容易引發類似的誤解和問題。

        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: 瑞薩 RH850

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 平山县| 酉阳| 和平县| 襄垣县| 香港| 绵阳市| 清苑县| 白水县| 宁河县| 开平市| 阆中市| 名山县| 合阳县| 凭祥市| 衡山县| 枣阳市| 苏州市| 许昌县| 黄山市| 辽宁省| 海宁市| 利辛县| 繁峙县| 汕尾市| 枣庄市| 视频| 罗平县| 西宁市| 应城市| 巴塘县| 临西县| 岳阳县| 故城县| 同德县| 六枝特区| 沙洋县| 曲麻莱县| 社旗县| 茶陵县| 广元市| 南澳县|