此内容由EEWORLD论坛网友tiankai001原创,如需转载或用于商业用途需征得作者同意并注明出处
msp430单片机开发实录(4)
现象:
调试一款单独供电的时钟芯片,该芯片是I2C接口的,由于之前在其它项目上已经调通了该芯片,就直接移植了相应的程序过来,结果始终调试不通,甚至连最基本的应答信号ACK都没有。
试验:
因为程序是以前调通的,并且已经在产品上使用了,所以程序流程肯定没问题,那第一怀疑就是因为不同产品的单片机主频不一致可能导致的时序问题,仔细核对了时序,发现并没有任何不一致,也不存在主频不合理的问题。
第二怀疑是端口配置,检查端口,无论是电路还是程序,端口的配置都没有问题。
就这样进入了死胡同,不知道该怎么办了。
于是决定先放一放,过几天再来解决。几天后再进行调试,在调试前想先看一下电路连接是否有问题,当看到该芯片的供电时,忽然发现这个是由锂电池单独供电的,而目前测试的这个电路板上没有接锂电池,于是就加电,然后调试,一下子就调通了。
验证:
去掉给该芯片单独供电的电池,自然调试的时候该芯片是不会有应答信号ACK的,加上电池,对该芯片的读、写操作全部都没问题。
备注:
这是一个很幼稚的问题,相信很多人听了会觉得不可思议,还有很多人会嘲笑:连电都不加,怎么可能调通。但我相信,这种幼稚的错误很多人都犯过。
|