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.

[参考译文] MSPM0G3507:I2C 忙等待

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1496227/mspm0g3507-i2c-busy-wait

器件型号:MSPM0G3507

工具与软件:

大家好、我使用 mspm0g3507、并且使用 i2c 传感器接口。 我能够使用轮询方式与传感器通信、但需要等待大量时间。 您能做些什么来消除忙等待和延迟吗? 我不想使用中断。  

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

    您如何知道您的申请何时完成?

    通常来说、您有两种选择:(a)询问器件(轮询)或(b)让器件主动告诉您(中断)。

    术语"忙等待"通常建议连续轮询、不执行任何其他操作(尽管来自其他器件的中断可以挤占轮询)。 可以想象使用以下命令的"不那么忙等待":

    1)定时轮询:使用/创建外部延时机制,例如基于计时器(使用休眠)或 RTOS ,并以常规(较慢)的间隔轮询。

    2) Ad-API hoc 轮询:定义 一个驱动程序 API,以启动请求,并提供一个函数,以检查(轮询)是否完成在一个方便的时间应用程序。

    3)预读/后写:定义 一个驱动程序 API 来启动请求、然后在开始下一个请求之前检查(轮询)完成情况。

    如果您能描述您的应用程序的架构和环境、我们可能会为您提供更好的答案。