xingxing123w 发表于 2019-1-17 11:06 我刚接触,不会仿真 ...... |
shuisheng 发表于 2019-1-16 15:01 我看了一下,显示函数没问题,我怀疑,会不会是ds1302原件没有工作的原因,但我不知道怎么检测ds1302是否工作了。 |
ahshmj 发表于 2019-1-17 04:20 我读的地址,是在读的函数里把写的地址每个后面都加1,这样应该也是可以的吧? |
ahshmj 发表于 2019-1-16 15:13 我读函数里面,地址都加了一,这样就只定义写的地址就行了,读的地址可以在读函数里更改 |
| IIC通讯最好要进行ASK 超时处理,可以仿真一下确定一下具体问题,看看读取的数据不正确,还是显示部分有问题, |
|
你仔细看看Jason_Jay 给你的程序,关键是 addr & 0x01 ,将地址的二进制码的末位变成“1”,就是80变成 81, 82变成 83……,这才是“读”的地址! |
你的写入程序有点问题:写入地址之后直接写入数据,你的时序导致数据没有写入,读出数据都为0X7F.
可以参考以下DS1302程序
|
| ds1302写和读不是一个地址。81、83、85、......91是读,80、82、84、........90是写。 |
| 哪位大佬指点一下,十分感谢,卡好几天了 |