关于DS1302的时钟/日历寄存器的疑问

2019-07-15 09:53发布

在DS1302中写入数据,需要先写入地址/命令,然后才能写数据
附图上,小时寄存器的7位来选择 12进制还是24进制  当为高时是12小时 低时是24小时 最左侧一栏有读地址和写地址 在写入地址/命令后就可以设定7位
图上小时寄存器7位为1;
但是我按照表格左侧的地址写代码的时候,通过数码管显示的时候还是24小时制的,这和数据手册描述的不一样啊!
为很么会出现这样的情况?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
Distant123
2019-07-16 11:43
人中狼 发表于 2017-8-14 15:24
这里set_time(WRITE_HOUR,23);,我认为你是设置了小时为23点,但是这里第7位为0,所以还是24小时制,如果要设置成12小时制,比如上午11点,那么所写入的十六进制格式应该是0x91,试试看,应该是这样。
在12小时制的情况下,读写小时寄存器时都应该要判断和设置AM,PM标志。 ...

抱歉啊,我的图片少了一部分
bit7是最高位啊,我也试了地址变了,数据好像就写不进去了,还有另一张图我也看不懂,控制位最高位(位7)一定是1?和前面说的是不同的控制字吗,但实际程序没有管这个啊
12.png
无标题.png

一周热门 更多>