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

[复制链接]
7394|12
 楼主| anazel 发表于 2013-1-10 16:54 | 显示全部楼层 |阅读模式
本帖最后由 anazel 于 2013-1-11 09:19 编辑

    在DS1302的突发模式中,连续写完数据后,为什么还要写个0x00,然后RESET才置0?不写0x00的话数据就写不进去,请教一下高手,谢谢
 楼主| anazel 发表于 2013-1-11 09:19 | 显示全部楼层
顶起来
lzqxs89 发表于 2013-1-11 12:58 | 显示全部楼层
没用过,等高手来回答
原野之狼 发表于 2013-1-11 13:42 | 显示全部楼层
查阅数据手册后未见有此一说
lzqxs89 发表于 2013-1-11 14:27 | 显示全部楼层
原野之狼 发表于 2013-1-11 13:42
查阅数据手册后未见有此一说

如果数据手册有此一说,他就不会来提问了:lol
 楼主| anazel 发表于 2013-1-11 15:57 | 显示全部楼层

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
原野之狼 发表于 2013-1-12 11:42 | 显示全部楼层
对时钟寄存器采用burst还是对ram采用burst?  
注意手册提到了每次传输时的个数的问题。
 楼主| 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);,不加这句的话就写不进去
kaoyan2406 发表于 2013-1-12 19:21 | 显示全部楼层
都是ds1302的突发模式,什么意思?为什么还来个突发模式 ?
 楼主| anazel 发表于 2013-1-12 20:44 | 显示全部楼层
突发模式就是多字节传输模式,防止有些情况出现的特殊情况,比如:当读到59秒,然后去读分的时候,分钟已经进位了,这样时间上就差了一分钟,所以设置了突发模式,消除了这个可能,一次把时间都读出来
原野之狼 发表于 2013-1-13 10:47 | 显示全部楼层
问题很有可能就是你写了7个字节  貌似是要写8个字节  你再看看手册
 楼主| 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个字节,多谢楼上的朋友
笨小鱼 发表于 2015-5-10 21:13 | 显示全部楼层
anazel 发表于 2013-1-12 19:05
void set_time(uint8 *timedata)
{
        uint8 i, tmp;

确实是这样,忽略了第八个字节,程序找了好久都没错,加了一个字节就好了,非常感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

35

主题

449

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部