利用模擬I2C讀寫PCF8563中的時間,讀時間總是讀出一個錯誤的固定值;查看狀態(tài)寄存器1中的值為0xff;在初始化函數(shù)中,先關(guān)閉了芯片,設置初始時間(順帶讀取設置的時間,讀出的時間是固定值,而不是設置好的初始時間),在往狀態(tài)寄存器1中寫0x00運行芯片,初始化后,查看狀態(tài)寄存器1中的值還是為0xff;我就感覺我寫數(shù)據(jù)就沒有寫進去,有人可以幫幫我嘛?下面是我的初始化函數(shù),沒有配置中斷
- WriteClockPara(0x00, 0x20); //關(guān)閉芯片
- WriteClockPara(8,0x22); //寫年
- Calendar.Year = ReadClockPara(8,0x00ff);//讀年
- WriteClockPara(7,0x8A);//寫月
- Calendar.Month = ReadClockPara(7,0x001f);//讀月
- WriteClockPara(5,0x28);//寫日
- Calendar.Dat = ReadClockPara(5,0x003f);//讀日
- WriteClockPara(4,0x15);//寫時
- Calendar.Hour = ReadClockPara(4,0x003f);//讀時
- WriteClockPara(3,0x46);//寫分
- Calendar.Min = ReadClockPara(3,0x007f);//讀分
- WriteClockPara(2,0x00);//寫秒
- Calendar.Sec = ReadClockPara(2,0x007f);//讀秒
-
- WriteClockPara(0x00, 0x00); //運行芯片
- T_I2CDelay();
- }
復制代碼 這是仿真之后讀到的時間,temp是讀取的狀態(tài)寄存器1中的值
|