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.

[参考译文] CCS/MSP430FR59691:I2C 最大读取计数

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/802501/ccs-msp430fr59691-i2c-max-read-count

器件型号:MSP430FR59691
主题中讨论的其他器件:MSP430FR5969

工具/软件:Code Composer Studio

您好!

我正在使用 MSP430FR5969 Launchpad (修订版2.0)从 Heimann 配置32x32红外传感器阵列并从中提取数据。 该传感器使用 I2C 协议、其中我必须在开始、读取地址和重复开始后一次读取258个字节的数据。

我的此代码在寄存器设置和读取时可以正常工作、但我使用 UCB0TBCNT 达到了0xFF 字节的限制。 根据用户指南、我想 MSP 只需8位值即可设置 I2C 读取停止次数。

是否有办法让它一次读取258?

我唯一能想到的另一种方法是对计数器进行硬编程、并通过将 UCASTTP 设置为0来绕过 UCB0TBCNT。 是否有更简单的方法使 UCB0TBCNT 接受0x0102 (258个字)?

谢谢、

Vaishnavi

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

    我已经了解了您的需求、并且正在寻找和测试解决方案、您可能可以尝试 DMA 方法。 晚一点回来。

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

    您是否曾尝试将 UCASTPx 设置为00b、然后在设置258个字节后、将 UCTXSTOP 设置为结束 I2C 通信?

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

    您好、Vaishnavi、

       我测试了 UCASTPx 的设置为00b、然后在接收到所需的字节(我设置接收到的800)后、将 UCTXSTP 设置为结束 I2C 通信、实验结果显示一次可以传输超过256字节的数据、程序如下所示:

    此致

    Johnson

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

    我已经有六天没有听到您的声音,因此我假设您能够解决您的问题。 如果情况并非如此,请单击“这无法解决我的问题”按钮,并使用更多信息回复此主题。 如果此主题锁定、请单击"提出相关问题"按钮、然后在新主题中描述您的问题的当前状态以及您可能需要帮助我们帮助解决您的问题的任何其他详细信息。

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

    此问题已解决。 我看到最简单的方法是禁用自动停止条件并在接收完所有字节后生成停止。
    感谢您帮助我验证这一点!

    此致、
    Vaishnavi