[求助] 在TMS320F28035下调试I2C心得

Jacktang   2016-12-23 21:22 楼主
        在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)最好将数据手册一步步看完,并理解了。
        有时,要停下来,从方法上进行改进呀。不要像我一样,钻进去,出不来了。方向错了,很致命。

回复评论 (1)

示波器都没有的路过,准备淘个二手泰克60mhz
点赞  2016-12-25 13:09
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复