關(guān)于解決DS1302顯示85、45卡死和閃現(xiàn)問題
最近幫同學(xué)做畢設(shè),調(diào)了幾塊帶有時鐘芯片DS1302芯片的板子。一直以為這芯片很簡單,但用了之后老是發(fā)現(xiàn)各種問題,比如莫名其妙的顯示85、45后就卡死,要么就是閃現(xiàn),特別郁悶,在網(wǎng)上搜了一下,發(fā)現(xiàn)很多類似問題,解決方法各種不一,但經(jīng)過我調(diào)試發(fā)現(xiàn),最有效的解決方法只有一個,問題不是出在硬件上,也不是驅(qū)動程序上,而是時序上!就是1302的讀操作!
uchar R1302(uchar ucAddr)
{
uchar ucData;
T_RST = 0;
T_CLK = 0;
T_RST = 1;
RTInputByte(ucAddr);
ucData = RTOutputByte();
T_CLK = 1;
T_RST = 0;
T_IO = 0; //字節(jié)讀操作完后,將ds1302的IO端口置零就可以消除85、45和閃現(xiàn)等問題
return(ucData);
}