解释ISL12022的i2c寄存器映射

解释ISL12022的i2c寄存器映射,i2c,bcd,I2c,Bcd,我试图编程一个ISL12022M RTC,但在解释寄存器映射时遇到了问题(自学,经验很少)。文件说明RTC寄存器(SC、MN、HR、DT、MO、YR、DW)为BCD表示。为了允许写入RTC寄存器的能力,WRTC位(地址08h的位6设置为“1”)。映射如下所示: Intersil站点的FAQ示例告诉我,要设置WRTC位,我需要发送DEh(从地址)08h(寄存器地址)和41(启用WRTC位,其他位保留默认值)。为什么不是十六进制?为什么是41而不是40?SC位6中的SC22、位5中的SC21等是什

我试图编程一个ISL12022M RTC,但在解释寄存器映射时遇到了问题(自学,经验很少)。文件说明RTC寄存器(SC、MN、HR、DT、MO、YR、DW)为BCD表示。为了允许写入RTC寄存器的能力,WRTC位(地址08h的位6设置为“1”)。映射如下所示:

Intersil站点的FAQ示例告诉我,要设置WRTC位,我需要发送DEh(从地址)08h(寄存器地址)和41(启用WRTC位,其他位保留默认值)。为什么不是十六进制?为什么是41而不是40?SC位6中的SC22、位5中的SC21等是什么意思


我一直在阅读文档,直到看不见为止,我一直在搜索,直到我变得更加困惑。非常感谢您的帮助。

嗯,看起来映射中的这些值都是半字节。第一个寄存器的范围是0-59。当用BCD表示时,1处的数字需要4位,1处的数字需要3位因此,位0-3属于第一个半字节;位0=SC(寄存器名)1(第一个半字节)0(第一位)。位4、5和6属于第二个半字节。位4=SC(寄存器名)2(第二个半字节)0(第一位)。不需要位7

Intersil的示例工作表有一个打字错误;WRTC值需要为40h或41h