打印

TMS320F28035下调试I2C

[复制链接]
912|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
android2|  楼主 | 2016-3-23 22:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在TMS320F28035下,用I2C驱动一个FM24C16。
        I2C是一个简单的协议,2线接口,一个SCL,一个SDA。大致看了一眼手册,以为很容易调试。
        FM24C16的手册也很简单,大致看了一下,以为半天的事。
        接下来调试的过程,让我崩溃了。开始用controlsuit中的例程Example_2803xI2C_eeprom做调试。先是将WP脚置低,整个过程均不用写保护。然后,按例程运行。在没有细看程序的情况下,对例程进行了一些改动,抱着侥幸的心理,希望稍微改动一点,即可应用。结果接下来的几天,让我郁闷了,一直没有调试成功。
        接下来,查看FM24C16的手册,看是不是时序不对。同时查看DSP的I2C总线的使用手册。看一点,改一点,一直没有调出。
        例程中,只写2个字节,读2个字节,改动程序读N个字节,写N个字节。一直是读出最后写进去的两个字节。不知是怎么回事。以为是改动不对,很长一段时间,均在改程序。
        在这种状态中过去了好几天。
        今天,用示波器看了SCL和SDA的波形,发现了问题:读取时,由FM24C16的手册知,发完1字节从节点地址,发1字节WORD address。而这个例程,可能是较大存储的铁电的程序,发送了两个字节的WORD address。
        终于找到的问题。天呢。如果一开始就用示波器看,如果一开始  就认真的看手册,也不致于用时N天。
        所以,以后做事,要吸取教训。
        记住:
        1)用别人的程序要理解每一步的意义,不要想当然以为。
        2)不明白DSP的I2C的用法,用简单的程序,就用示波器看一下波形就明白了。
        3)最好将数据手册一步步看完,并理解了。
        有时,要停下来,从方法上进行改进呀。不要像我一样,钻进去,出不来了。方向错了,很致命。

相关帖子

沙发
tongbu2015| | 2016-3-24 16:48 | 只看该作者
该调试经验非常好的,做硬件开发的需要时刻记着灵活使用示波器的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

137

主题

784

帖子

0

粉丝