本帖最后由 未知1908 于 2017-3-23 11:31 编辑
调试1302遇到问题,DS1302 偶数秒读取不对,奇数是对的。而且偶尔会乱跳。硬件解法是
晶振接了20P的电容,没有接上拉电阻(DATA脚接了上拉电阻现象还是一样的)
程序用的是这个坛友的
http://www.openedv.com/forum.php ... 80&highlight=DS1302
第一次写入并读取的时间 读取到错误的偶数秒并且日也错了 读到奇数的秒,是显示对的,
我怀疑是读取的时序不对导致了偶数不对, DS1302_IO_IN();
for (i = 0; i < 8; i ++)
{
temp = temp >> 1;
if(DS1302_DATA_IN)
temp |= 0x80;
else
temp &= 0x7F;
DS1302_SCK = 1; //2úéúê±Öó
delay_us(10);
DS1302_SCK = 0;
}
DS1302_RST = 0; //í£Ö1DS1302×üÏß
return temp;
}
遇到的问题就是这样,有这方面经验的朋友请指导一下
读出来的都是FF
应该要先写入时间再读取吧,我目前实验是可以的,但是偶尔会时间会重置,需要重新写入才行。有时间我再搞搞
都是FF的话就先检查一下硬件吧
一周热门 更多>