PCF8563驱动问题
这两日,在写一个RTC时钟的驱动程序,芯片是周立功公司生产的PCF8563,总线是IIC的,在严格按照技术手册上的IIC时序写完之后。在测试程序里不能正确的读取日期中的分钟和秒数据,上网查了好久,也没有查到这方面的资料。最后,解决的办法很诡异在每次读取日历数据前,要先进行一次写数据,不论写什么,只要是合法数据就可以。
while(1){
Write(0x00,0x00);
sec=Read(0x02); //读取秒数据
min=Read(0x03);//读取分钟
hour=Read(0x04);//读取小时
hour &= 0x3f;//取出小时的有效位
day=Read(0x05);//读取日期
day &= 0x3f;//取出有效的日期位
weeks=Read(0x06);//读取星期寄存器值(其中包含世纪)
weeks &= 0x07;//取出星期的值
mon=Read(0x07);//读出月份的值
printf(" ");
delay(1);//延时1s
}
期待着能尽快解决这个错误。