2017-01-09 69 views
0

我想编程一个ISL12022M RTC,并且在解释寄存器映射时遇到问题(自我教导的经验很少)。该文件说,RTC寄存器(SC,MN,HR,DT,MO,YR,DW)是BCD表示。为了让写capabilitiy到RTC注册WRTC位(地址08H的第6位被设置为“1'.The地图看起来是这样的: map解释ISL12022的i2c寄存器映射

来自Intersil公司网站上的FAQ例子告诉我,设置WRTC位需要发送DEh(从地址)08h(寄存器地址)和41(使能WRTC位,其他位默认保持)。为什么不是十六进制?为什么41而不是40?SC位SC 6中的SC22是什么, SC21在第5位,等等是什么意思?

Datasheet

Example

我已经阅读了文档,直到我再也看不到了,我一直在搜索,直到我变得更加困惑。任何帮助表示赞赏。

回答

0

那么,它看起来像这些值在地图上是半字节。第一个寄存器的范围为0-59。当以BCD表示时,这些数字需要4位,10位需要3位。所以,比特0-3属于第一个半字节;位0 = SC(寄存器名称)1(第一半字节)0(第一位)。位4,5和6属于第二个半字节。位4 = SC(寄存器名称)2(第二半字节)0(第一位)。位7不是必需的。

来自Intersil的示例表有一个错字; WRTC值需要为40h或41h。