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.

[参考译文] MSPM0L1306:如果将 I/O 引脚配置为计时器的捕获输入、如何获取该引脚的极性

Guru**** 2609285 points
Other Parts Discussed in Thread: SYSCONFIG, MSPM0L1306

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1278935/mspm0l1306-how-to-get-polarity-of-i-o-pin-if-it-is-configured-as-capture-input-for-a-timer

器件型号:MSPM0L1306
主题中讨论的其他器件:SysConfig

您好!

我将 TIMG0_C1配置为引脚 PA13的捕获输入、以测量该引脚上两个信号边沿之间的持续时间。

TIMG0由 SysConfig 配置、可以正常工作。 我在引脚 PA13上发生的每个边沿上获得捕捉中断(上升和下降)。

现在、如果发生捕获中断、我需要读取引脚 PA13的极性。

如何检查 PA13是高电平还是低电平?  

我尝试检查  (GPIOA->DIN31_0和 DL_GPIO_PIN_13) 是否为0、但这里没有发生变化。

我认为这是因为 PA13未配置为数字输入、而是配置为计时器的输入。

当该引脚用作捕捉计时器的输入时、如何读取该引脚的极性高电平或低电平? 或者如何查看哪个边沿导致了中断?

感谢你的帮助。

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

    尊敬的 Matthias:

    您应该使用中断来将 IO 引脚功能从计时器重新配置为 I/O 输入、然后检测 极性。 检测到 极性后、应将其重新配置为计时器 CP 模式。

    一个更简单的方法是使用事件模块来完成该功能。 使用 PA13作为 GPIO 输入、并通过 GPIO 边沿检测触发计时器捕获。

    请参阅以下配置(请根据要求进行修改):

    B.R.

    萨尔

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

    大家好、

    我现在在任一边沿上使用 PA13中断、并按预期获得 GPIO 中断。
    您能否提供一个(代码)示例、以说明如何正确配置 TIMG0_Ch1、从而使此计时器持续运行(例如使用32MHz)并在 PA13的每个边沿捕获计数器值。 捕捉不应停止计数器的运行。 在我看来、使用单模式捕捉不会产生这种情况、而多模式捕捉不允许事件触发。
    感谢你的帮助。

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

    大家好、

    我理解另一个问题:
    您建议的解决方案是获取 PA13的 GPIO 中断、以便进一步处理捕获的计时器值?
    或者我是否应该得到一个定时器-捕获-中断、它是由 GPIO 检测到一个边沿并向 TIMG0发送事件、然后 TIMG0生成一个捕获-中断而导致的(在后台、无需软件干预)?

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

    尊敬的 Jost:

    请参阅以下配置(请根据您的要求修改):

    屏幕截图 显示了定时器和 GPIO 的配置。

    您可以使用 SDK 中的代码示例 timx_timer_mode_capture_duty_and_period_LP_MSPM0L1306_nortos_ticlang、然后根据图片配置 GPIO 输入和计时器捕获模式。

    您建议的解决方案是否为 PA13获得 GPIO 中断,在该中断中可进一步处理捕获的计时器值?

    您可以在计时器中断中读取捕获周期值、同时也可以 随时读取 GPIO 引脚极性。

    B.R.

    萨尔

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

    您好!

    抱歉、您似乎没有测试建议的解决方案。

    因此、我向您索要了一个代码示例...

    此外、在 SDK 中没有"timx_timer_mode_capture_duty_and_period_LP_MSPM0L1306 _nortos_ticlang"示例。

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

    我必须找到不同的权变措施、因为我无法使用 SDK 1.17.0为它运行代码、也无法从我尝试接收的答案中获取运行代码。

    不幸的是、这是 MSPM0的尝试和错误。

    不幸的是,有更多的事情,像这样的其他外设,我们正面临着诗歌与 MSPM0。

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

    您好!

    使用最新的 SDK 版本(1.20);下载 CCS 12.5 (CCS12.5中包含 SysConfig 1.18)。

    您可以在路径"C:\ti\mspm0_sdk_1_20_00_05\examples\nortos\LP_MSPM0L1306\driverlib\timx_timer_mode_capture_duty_and_period"中找到代码示例。

    因此我向您询问了一个代码示例...

    很抱歉、我目前没有时间进行测试、请尝试一下。

    如果您遇到任何问题、请随时回复该主题或提交新主题。

    B.R.

    萨尔