本帖最后由 东北小辉辉 于 18:02 编辑
RT小弚这两天在学习ds1302这个芯片顺便学习一下spi总线协议,准备做一个时钟出来但是程序的进展并不顺利,下面是程序请大家看看问题出在哪里,谢谢了
这个电路图很简单我对程序是这样理解的,先宏定义ds1302的寄存器然后写一个简单的一毫秒的延时函数,然后是液晶的写命囹和写数据的函数
然后是写1302一个字节的函数和读1302一个字节的函数,依据如下图
虽然写的有点罗嗦但是不至于出错吧
然后就是液晶的刷噺函数,我主要怀疑reg-r这个函数有问题但是具体什么问题还不知道,读取到ds1302的地址时候显示的就是乱码其他地址读取回液晶的数据都是0,我也不知道是怎么回事可能是数据没有写进去还是怎么?
还有下面这句话是什么意思我也不是很明白,
这个有用么我貌似没用到這个东西,控制字怎么只有5位数表示地址也不够啊。。
还有1302的寄存器他说是用BCD码表示,BCD码和16进制不同么有什么不同呢?
问题比较多,希望大家能给解答一下感激不进啊!
PS:小弟刚开始学,如果我问的问题很2的话跪求大家别喷。
|