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.

[参考译文] MSP432P4111:如何优化 TI-RTOS I2C 驱动器内 I2C 外设的 UCSWRST 功耗设置

Guru**** 2534260 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/979026/msp432p4111-how-to-optimize-power-setting-ucswrst-for-i2c-peripheral-within-ti-rtos-i2c-driver

器件型号:MSP432P4111

您好!  

我的目标是优化 MSP432P4111上多线程 TI-RTOS 系统的功耗、该系统具有 I2C 总线、可从  SimpleLink SDK 3.40.01.02调用 TI I2C 驱动程序。 我仅使用 I2C 作为主设备、我希望在不需要 I2C 外设时将其保持在复位模式、并仅在需要时激活它。

本应用手册 (9.1、第12页)中、建议通过设置 UCSWRST 寄存器位来保持外设处于复位模式。

我已经在应用层中实现了这一点,在每次调用 I2C_transfer()函数之前和之后启用/禁用 I2C。

但是、我认为一种更好的方法是在调用 primeTransfer()的位置将此复位/激活功能集成到 I2CMSP432.c 驱动程序源文件中、以便我仍然可以从驱动程序提供的线程安全信标和消息队列中受益。 是否有支持的方法来实现此目的?

我正在考虑的另一个可能的选项是在进入/退出睡眠模式时通过使用 PowerRegisterNotify 函数或空闲电源策略自定义函数来设置/清除 UCSWRST。

实现这一目标的最佳方法是什么?

非常感谢您的关注、  

Álvaro μ A

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

    您好、Alvaro、

    [引用用户="Alvaro MURO"]

    但是、我认为一种更好的方法是在调用 primeTransfer()的位置将此复位/激活功能集成到 I2CMSP432.c 驱动程序源文件中、以便我仍然可以从驱动程序提供的线程安全信标和消息队列中受益。 是否有支持的方法来实现此目的?

    [/报价]

    您可以访问源代码。 您应该能够对其进行修改。 您是否询问是否有单独的 API 来实现此目的? 我不认为有。

    Srinivas

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

    您好 Srinivas、  

    感谢您的回复。

    是的、没错、我想知道是否有 API 或其他受支持的方法来实现这一点、因为我不想修改 I2CMSP432.c 中的驱动程序源代码 如果 SDK 已更新、则文件可能会被覆盖、并且我的项目将失去此类功能。

    因此、我想我将继续解决在 I2C 驱动器周围的包装层复位/激活 UCSWRST 位的问题、使用互斥量来保护每个总线以确保线程安全。

    此致、  

    Álvaro μ A

     

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

    您好、Alvaro、

    我认为您要查找的特定功能不能作为 API 使用。 您可能已经了解过这一点、但您可以在 文件:///中看到所有可用的内容 /docs/tidrivers/doxygen/html/_i2_c_8h_source.html

    因此、我认为您必须按照自己的建议在包装级别实施它。

    Srinivas

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

    非常感谢 Srinivas!