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.

[参考译文] RTOS/MSP432P401R:MSP432 i2cslave示例问题

Guru**** 2535150 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/580393/rtos-msp432p401r-msp432-i2cslaveexample-problems

部件号:MSP432P401R

工具/软件:TI-RTOS

将最新的MSP432启动板(RED)与1.20 运行'i2cslaveexample1'的MSP.SDK配合使用00.45。

我使用的是u-boot的BeagleBone Black (BBB),而不是使用另一个启动板作为母版。

从BBB:
=> i2c md 48 1
返回预期的0x55,并且示波器上的波形看起来良好
但再次运行同一命令会导致超时。 该示波器显示初始活动,但随后我看到MSP432正在压住SCL和SDA。
如果重置MSP432,SCL和SDA线将恢复正常(高)。

我能够可靠地读取MSP432从属设备的唯一方法是在每次读取后使用'i2c复位'重置u-boot中的i2c总线。 重置实际有什么作用? 我看不到听筒上有任何活动。 MSP432在读取后是否不能正确终止传输,并且后续读取会使u-boot/MSP432处于某种'不匹配'状态?

我看到从Linux而不是u-boot读取的行为相同。

目标是使MSP432成为能够从任何i2c主设备读取的标准i2c从属设备。

谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

     I2C重置可能与eUSCI重置位相关联。  我将尝试用两个MSP432在我这边重现这个问题。  您是否可以发送I2C活动的照片(开始,确认, 重复开始,确认,停止)?

    谢谢!

    Chris

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我无法重现该问题。  同样,这是一个MSP432与另一个MSP432对话,在这种情况下,我在每次交易后发送停止。  

    请更新到最新的SDK,查看问题是否仍然存在。  

    此致,

    Chris