打印

有关时钟芯片8563 报警寄存器的问题

[复制链接]
1872|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 a会飞的鱼 于 2012-11-3 23:19 编辑

最近在做公司一个产品,使用到PCF8563实现ALARM功能。下面是01H寄存器描述。



下面是我的部分代码
void D8563_Alarm(void)
{
        byte TempData[16];
        TempData[REG_STATUS2]= 0x02;//BIT3(AF)位写0  清除报警标志
        if (D8563_Write(REG_STATUS2,TempData,1)== FALSE)
                        return FALSE;

        TempData[REG_STATUS2]= 0x06;//BIT3(AF)写1
        if (D8563_Write(REG_STATUS2,TempData,1)== FALSE)
                return FALSE;

        TempData[0]= 0x03;        //写入每天08:03报警一次
        TempData[1]= 0x08;
        TempData[2]= 0x80;
        TempData[3]= 0x80;
        D8563_Write(REG_ALARM_MIN,&TempData[0],4);
}
每次ALARM来的时候,AF位会置1,且必须软件清0,如果仅仅只是写0,就会产生一个问题----下次ALARM来的时候,AF位就不会被置1了。
如果AF位清零后,再写1,下次来ALARM的时候才会再一次被置1。

我想请教各位大虾,为什么会出现这种情况??规格书里面是没有这个描述的、

补充有关AF/TF位的描述

AT8563.pdf

736.92 KB

8563规格书

相关帖子

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

本版积分规则

0

主题

1

帖子

0

粉丝