打印

有个问题一直没弄明白,ds1302的突发模式

[复制链接]
6727|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
anazel|  楼主 | 2013-1-10 16:54 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
沙发
anazel|  楼主 | 2013-1-11 09:19 | 只看该作者
顶起来

使用特权

评论回复
板凳
lzqxs89| | 2013-1-11 12:58 | 只看该作者
没用过,等高手来回答

使用特权

评论回复
地板
原野之狼| | 2013-1-11 13:42 | 只看该作者
查阅数据手册后未见有此一说

使用特权

评论回复
5
lzqxs89| | 2013-1-11 14:27 | 只看该作者
原野之狼 发表于 2013-1-11 13:42
查阅数据手册后未见有此一说

如果数据手册有此一说,他就不会来提问了:lol

使用特权

评论回复
6
anazel|  楼主 | 2013-1-11 15:57 | 只看该作者

这是时序图,没有看到写完数据后还要写个0x00

使用特权

评论回复
7
原野之狼| | 2013-1-12 11:42 | 只看该作者
对时钟寄存器采用burst还是对ram采用burst?  
注意手册提到了每次传输时的个数的问题。

使用特权

评论回复
8
anazel|  楼主 | 2013-1-12 19:05 | 只看该作者
void set_time(uint8 *timedata)
{
        uint8 i, tmp;

        for (i=0; i<7; i++)  // 转化为BCD格式
        {
                tmp = timedata[i] / 10;
                timedata[i] = timedata[i] % 10;
                timedata[i] = timedata[i] + tmp*16;
        }

        clear_ds1302_WP();

        reset_ds1302();
        RST = 1;
        write_ds1302_byte(DS1302_W_ADDR);        // 控制字为0xBE,设定多字节传送方式:写
        for (i=0; i<7; i++)
        {
                write_ds1302_byte(timedata[i]);
                delay(10);
        }
        write_ds1302_byte(0);
        SDA = 0;
        RST = 0;

        set_ds1302_WP();
}

写时钟数据,写7次,RST置零前,要加上write_ds1302_byte(0);,不加这句的话就写不进去

使用特权

评论回复
9
kaoyan2406| | 2013-1-12 19:21 | 只看该作者
都是ds1302的突发模式,什么意思?为什么还来个突发模式 ?

使用特权

评论回复
10
anazel|  楼主 | 2013-1-12 20:44 | 只看该作者
突发模式就是多字节传输模式,防止有些情况出现的特殊情况,比如:当读到59秒,然后去读分的时候,分钟已经进位了,这样时间上就差了一分钟,所以设置了突发模式,消除了这个可能,一次把时间都读出来

使用特权

评论回复
11
原野之狼| | 2013-1-13 10:47 | 只看该作者
问题很有可能就是你写了7个字节  貌似是要写8个字节  你再看看手册

使用特权

评论回复
12
anazel|  楼主 | 2013-1-13 14:02 | 只看该作者
The clock/calendar command byte specifies burst mode operation.  In this mode the first eight
clock/calendar registers can be consecutively read or written (See Figure 4) starting with bit 0 of address
0.
确实要要写8个字节,多谢楼上的朋友

使用特权

评论回复
13
笨小鱼| | 2015-5-10 21:13 | 只看该作者
anazel 发表于 2013-1-12 19:05
void set_time(uint8 *timedata)
{
        uint8 i, tmp;

确实是这样,忽略了第八个字节,程序找了好久都没错,加了一个字节就好了,非常感谢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

448

帖子

2

粉丝