wulin 发表于 2023-2-20 15:11
读出地址:0x81, 0x83, 0x85, 0x87, 0x89, 0x8b, 0x8d
写入地址:0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x ...
munuc_w 发表于 2023-2-20 14:51
左移一位是扔掉了REG的最高位,再或0X80是将移位后的REG的最高位置1,。
zhuls 发表于 2023-2-20 15:35
没有完整代码不好说,据猜测应是1302的读写地址不一样,才这么做的,比如定义的秒的写地址为80,读是81,如 ...
wulin 发表于 2023-2-20 15:11
读出地址:0x81, 0x83, 0x85, 0x87, 0x89, 0x8b, 0x8d
写入地址:0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x ...
cwb2038 发表于 2023-2-20 15:38
谢谢!REG的值是多少?为什么要扔掉最高位呢?
zhuls 发表于 2023-2-20 15:41
学习了~~那定义写入地址,读时直接地址+1不就OK了?还整这么多弯弯,
munuc_w 发表于 2023-2-20 16:52
这个要看芯片的指令格式。
cwb2038 发表于 2023-2-20 15:41
完整代码如下:
cwb2038 发表于 2023-2-20 18:43
谢谢指点,但还是有点不是很理解!搞不清楚为什么要这样写,这是DS1302的寄存器介绍,能再解释一下吗?
...
wulin 发表于 2023-2-20 21:48
你看明白下列语句,前面的问题就解决了
lkc8210 发表于 2023-2-20 23:34
把命令值化作二进制就清楚了
cwb2038 发表于 2023-2-21 11:17
谢谢解答!还想请教一下,你这命令值怎么转化过来的?DS1302寄存器不是有5位,A4~A0吗?你说的“Address ...
lkc8210 发表于 2023-2-21 11:38
这表是HT1381的寄存器表,但和DS1302的有99.999%相似,所以拿来示范
命令值只是16进制转2进制,如0x80=0 ...
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |