This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

msp430 I2C协议

Other Parts Discussed in Thread: MSP430F5328

   最近在做一个项目用到I2C协议,用的是msp430f5328单片机芯片,想用通用的IO口来模拟I2C协议,可在IO输入输出转换的时候波形老是不对,是有类似的程序或者源代码供小弟参考一下,谢谢了

  • 看看这个代码,希望对你有帮助http://wenku.baidu.com/link?url=l4JKHN2HGu9WrIrbuFAaWLX_EWHzs9--XfkU7qObNZc1aZLRKhy_bX_FLgpajVuzyXRmACpoeL_FkruNvBWSW7QyEGS6ZqibUrPzKIZzAda

  • 针对I2C设计的一些通用建议:

    如果对I2C不熟悉,且对方是标准的I2C,建议还是用硬件的I2C做,不然以后有兼容性问题。

    如果用软件做,也需要准备一个外部第3方的串口I2C分析器,或者逻辑分析仪,或者带I2C信号分析功能的示波器。这样就指导你模拟出的波形哪里不标准。

    如果你现在的波形有问题,主要是通过示波器把总线上的波形抓下来,看是哪个信号不对,卡在那里了。

  • 明天把时序图给你发过去,你帮忙给看看

  • 谢谢,这个代码可以用,已经能够读取寄存器的值了,虽然不对,还有待调整,等待后续更新

  • 我现在秒和年寄存器写进去了,读出来也是对的,可时、分、天、月都不对,并且我发现当秒计数到60时、分钟的寄存器的值也不会加一,一直没有变化

  • 现在秒寄存器和年寄存器已经可以写进去并且读出来了,可分钟、小时、月等寄存器的值能读出来,但是写不进去,下面的图片是写分钟寄存器的时序图,请帮忙看一下时序是否有问题,我快疯了,为什么同样的写程序,有的能写进去,有的写不进去

       其中只有高电平一半的脉冲冒失是接收到的ACK信号

    并且我还发现一个问题:当秒计数到60时分钟寄存器的值也是不变的,是不是芯片坏了啊,还是需要通过irqn信号来重新写寄存器啊

x 出现错误。请重试或与管理员联系。