informasi kontak saya
Surat[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
RH850 RTC (jam waktu nyata) MCU mengadopsi format pengkodean BCD (desimal berkode biner), mendukung identifikasi otomatis tahun kabisat, dan memiliki fungsi pembawa untuk detik, menit, jam, hari, minggu, bulan, dan tahun. Diantaranya, yang kedua dibagi menjadi 60 membawa, jam dibawa 12 atau 24, minggu dibawa 7, hari dibawa 28, 29, 30, 31 menurut bulan, bulan dibawa 12, dan tahun adalah 00~99.
Baru-baru ini, kami menggunakan RenesasMCU RTC RH850 mengalami masalah pengecualian timing carry. Saat mencetak variabel waktu melalui UART, ditemukan bahwa penyimpanan detik dan menit bukanlah penyimpanan yang diharapkan sebesar 60, tetapi salah muncul sebagai penyimpanan 90. Fenomena ini menarik perhatian kami.
Namun menggunakan emulator untuk memantau secara langsungRTCJika dilihat dari internal SEC, MIN dan register lainnya, ditemukan bahwa register tersebut berjalan normal setelah mencapai 0x59, yang menunjukkan bahwa tidak ada masalah dengan fungsi timing dari RTC itu sendiri.
Setelah mengamati dengan cermat, kami menemukan aturan utama: ketika detik melebihi 09, nilai yang ditampilkan akan langsung melonjak ke 16, dan kemudian terus meningkat. Fenomena ini menunjukkan bahwa masalahnya mungkin terletak pada konversi format data. Karena RTC menggunakan format pengkodean BCD secara internal, dan kami memprosesnya sebagai data desimal saat mengeluarkannya ke asisten debugging port serial melalui UART, hal ini menyebabkan penyimpangan pada tampilan.
Menanggapi masalah ini, kami telah memodifikasi format pemrosesan keluaran UART. Setelah penyesuaian, waktu yang ditampilkan pada asisten debugging port serial akhirnya kembali normal, yang memverifikasi bahwa analisis kami benar.
Singkatnya, register internal RTC RH850 MCU mengadopsi format pengkodean BCD yang unik, yang mengharuskan kita memberikan perhatian khusus pada konversi format saat memproses data terkait. Jika tidak, akan mudah menimbulkan kesalahpahaman dan masalah serupa.