高级会员
- 积分
- 994
- 金钱
- 994
- 注册时间
- 2016-7-22
- 在线时间
- 318 小时
|
发表于 2016-8-26 10:02:29
|
显示全部楼层
前辈,用了您的iic和8563驱动,可以正常读写,但是有个问题,读出来的时间正常走时10s以后 月份就乱蹦了,20s以后日就乱了,然后小时分钟也乱了,秒到了60然后从0开始,年月日时分秒又全正常,然后8s后又乱。。。。这是什么原因呢。
这是我的程序: 非常感谢
void test8563()
{
bsp_Init(); /* 硬件初始化*/
//PCF8563_Time_Init(&Display_Time[8]);
PCF8563_Write_Byte(0x08,SetDate[0]);delay_us(100);
PCF8563_Write_Byte(0x07,SetDate[1]);delay_us(100);
PCF8563_Write_Byte(0x05,SetDate[2]);delay_us(100);
PCF8563_Write_Byte(0x06,SetDate[3]);delay_us(100);
PCF8563_Write_Byte(0x04,SetDate[4]);delay_us(100);
PCF8563_Write_Byte(0x03,SetDate[5]);delay_us(100);
PCF8563_Write_Byte(0x02,SetDate[6]);delay_us(100);
delay_us(5000);
//SetDate[7]={0x16,0x08,0x25,0x04,0x16,0x33,0x00};
while(1)
{
//Time_Handle();
Display_Date[0]=bBcdToBin(PCF8563_Read_Byte(Address_year));delay_us(55100);
Display_Date[1]=bBcdToBin(PCF8563_Read_Byte(Address_month));delay_us(55500);
Display_Date[2]=bBcdToBin(PCF8563_Read_Byte(Address_date));delay_us(55100);
Display_Date[3]=bBcdToBin(PCF8563_Read_Byte(Address_week));delay_us(55100);
Display_Date[4]=bBcdToBin(PCF8563_Read_Byte(Address_hour));delay_us(55100);
Display_Date[5]=bBcdToBin(PCF8563_Read_Byte(Address_minute));delay_us(55100);
Display_Date[6]=bBcdToBin(PCF8563_Read_Byte(Address_second));delay_us(55100);
LcdBackLightInit(1);
LcdScreenSet(LCD_SCREEN_8563test);
PrintLcd();
}
} |
|