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.

[参考译文] MSP430FR6043:Usslib -有关低功耗超声波捕获的问题

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1176998/msp430fr6043-usslib---question-about-low-power-ultrasound-capture

器件型号:MSP430FR6043

大家好、我不熟悉 MSP 微控制器。

我对 USSLib 中的"USS_startLowPowerUltrasonicCapture()"API 有疑问、我在 API 指南中已经阅读过该函数在脉冲生成和脉冲捕获之间在 LPM3中等待。 我使用 eUSCI_A2模块与另一个模块进行 SPI 通信、虽然我知道 eUSCI_A 模块可以在 LPM 上工作、但我需要在数据传输期间激活 MCU、因为我在 RAM 上有一个具有各种传输字节的缓冲器。 问题是,如果  USS_startLowPowerUltrasonicCapture()使 MCU 进入 LPM3,我可能会丢失存储在传输缓冲区中的所有数据,这会导致通信中断。
现在、从我测试过的内容来看、似乎该 API 具有某种"上下文保存"、因为在调试过程中、我发现变量在调用 API 之前维护其值。 如果是这种情况、我可能就不再担心丢失传输缓冲区并使用 API 了。但是、如果不是这种情况、我应该改用"USS_startUltrasonicMeasurement()"。

那么问题是  、在 切换到 LPM 之前、"USS_startLowPowerUltrasonicCapture()"是否会在 FRAM 上备份全局变量? 在调用 API 时、我是否应该担心数据丢失?

感谢大家的帮助。

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

    您好!

    USS_startLowPowerUltrasonicCapture API 不会在 FRAM 上备份全局变量。 该 API 在捕获期间会消耗大量 RAM。 它可能与 RAM 已满相关、并丢失了一些数据。  

    此致、

    现金 Hao  

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

    大家好、感谢您的回答。

    现在我不会丢失任何数据,所有的全局变量都会在调用"USS_startLowPowerUltrasonicCapture()"后保留各自的值。 虽然这对我的项目很好(因为我不会丢失缓冲区)、但它似乎与直觉不符、我在调用 API 时是否应该释放所有全局变量?
    此外,一旦 LPM 延迟结束,代码是否会从 USS_startLowPowerUltrasonicCapture()被调用的位置恢复? 还是像往常一样从 main()开始?
    很抱歉、如果这些问题很简单、我仍在学习使用 USSlib API。

    此致、

    Ignacio

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

    您好!

    调用 API 时、不应释放全局变量。 MCU 应从进入 LPM 的位置唤醒。

    此致、

    现金 Hao

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

    没错、我把 LPM3与 LPM3.5错了、在 LPM3.5中、所有 RAM 内容都丢失了。

    感谢你的帮助。