今天在公司实习快一个月了,从刚开始适应到现在基本熟悉,差不多对他们的产品有了大致的了解了。而今天就和一位大牛一起配置下使用的单片机的I2C。由于他们产品是用C8051F系列为他们的MCU来配合别的产品,都是用的I2C通信。所以,I2C就是基本的通信初始化了,而这里并不是讲的怎么配置,讲的是我对这个配置的感想和自己的思考。
因为这个是从别的公司拿的demo,有些东西别人是不会好心的全部交给你的,就算给你了,但少不了有些小错误,就如今天我看到的原理图和源程序有些都对不上号,这就给我们后来的一些改动带来了 不确定性。如我们把程序和原理图对比后,程序写的引脚配置是一个数字,但是原理图上的那个引脚却没有使用。这个算作什么呢?
还是先依葫芦画瓢吧,对着demo的源程序一步一步来,……,几分钟过去后,我们开始的配置烧进开发板,结果往往与我们的初衷相反,果然I2C通信不通。咋办?只好在回头看看哪里错了,结果我们以程序为标准,还是没查出什么错误。顺便说句,源程序下载开发板后是可以顺利运行的。
“假如图没错,是程序的错呢?”
当然,肯定不是全部错误,正如引脚随便配置,就算是你编译了也是发现不了问题的。所以,后面我们当原理图没错,以原理图来进行配置,结果……呵呵,还真好了。再比较程序,TNND,是它的头文件的注释误导了我们,另外那个引脚果然是写错的,难怪。
虽说是一件小事,不过可以知道,看程序不可完全相信,要有点怀疑精神,就如“尽信书不如无书”。同时呢,我们要知道办事的方法,一个不行就换另一个,两个互作比较还是比较稳妥的一种方法。
那就到这样吧。