利用模擬I2C讀寫PCF8563中的時間,讀時間總是讀出一個錯誤的固定值;查看狀態寄存器1中的值為0xff;在初始化函數中,先關閉了芯片,設置初始時間(順帶讀取設置的時間,讀出的時間是固定值,而不是設置好的初始時間),在往狀態寄存器1中寫0x00運行芯片,初始化后,查看狀態寄存器1中的值還是為0xff;我就感覺我寫數據就沒有寫進去,有人可以幫幫我嘛?下面是我的初始化函數,沒有配置中斷
- WriteClockPara(0x00, 0x20); //關閉芯片
- 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是讀取的狀態寄存器1中的值
1624937673(1).jpg (37.88 KB, 下載次數: 37)
下載附件
2021-6-29 11:34 上傳
|