周五写了一小段代码测试DS1302命令,读出数据有些乱码,但能看出秒字节在变,分字节随60秒而变,读出虽然乱码,但是值是稳定的,基本能肯定代码问题不大。周末在家苦思冥想、翻看N遍DS,觉得问题是在数据脚需要接拉电阻,手册说引脚内部有40K下拉电阻,而MCU的上拉电阻是300K,理论上讲,需要在引脚上外接上拉电阻才能保证输到芯片内部的电平幅度符合要求。刚才无意把表笔(10V档,20K欧/V)卡在数据与地之间,神了!读出的数据竟准确无误!再试用250V档,读出数据也是正确的,看来是干扰问题,因为是做测试,用的20几CM的杜帮线,哈哈哈哈!明白了,DS1302的输出抗干扰很差。
再试在时序中加各种延时,无助于改善,就得要加下拉,加上拉也不行