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.

[参考译文] MSP430F5529:MSP430F5529:如何使用 DMA+PWM 在 TI-RTOS 上产生不同的占空比?

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1180904/msp430f5529-msp430f5529-how-to-use-dma-pwm-to-produce-different-duty-on-ti-rtos

器件型号:MSP430F5529

大家好、

如何在 TI-RTOS 上使用 PWM+DMA 生成以下波形?

谢谢。

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

    您好!

    此代码可更改占空比:

    https://dev.ti.com/tirex/explore/node?node=A__AMgR3u96o8KiJhcB5kFPFA__msp430ware__IOGqZri__LATEST

    这可以在 TI-RTOS 中使用、也可以不使用 RTOS。

    谢谢!

    此致

    Johnson

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

    尊敬的 Johnson:

    我只想使用一个能够在每个脉冲之后动态调整占空比的引脚。

    例如、输出10个脉冲、该占空比可能像75% 25% 75% 25% 75% 25% 25% 25% 25% 25%... 或75% 75% 75% 25% 25% 75% 75% 25% 25% 25% 25% 25% 25%。

    如上面的波形图。

    我该怎么做?

    谢谢。

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

    您好!

    我认为您需要使用 DMA 来更改占空比寄存器。

    或启用零负载中断以更改中断路由中的占空比。

    谢谢!

    此致

    Johnson

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

    尊敬的 Johnson:

    您能告诉我如何使用 DMA 设置 PWM 吗?

    我找到了一些文档、但没有找到任何描述。

    您能给我一些提示或示例吗?

    谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="259746" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1180904/msp430f5529-msp430f5529-how-to-use-dma-pwm-to-produce-different-duty-on-ti-rtos/4448351 #4448351"]例如、输出10个脉冲、该占空比可能等于75% 25% 25% 75% 75% 25% 25% 25%... 或75% 75% 75% 25% 25% 75% 75% 75% 25% 75% 25% 25% 25% 25% 25%[/引述]

    您是否连接到诸如 ws2812b neopixels 之类的东西、这些东西将不同的宽度解释为零或一个?

    另一种方法可能是使用 SPI 接口并写入不同的字来生成所需的脉冲流。 例如 、正如有人在 MSP-EXP432E401Y 中使用不同的基于 ARM 的微控制器所做的那样:通过 SPI 传输时字节之间的延迟

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

    切斯特、您好!

    是的。 我的 LED 接口、如  ws2812b neopixels。 如何在 TI-RTOS 系统上设置 MSP430F5529 SPI+DMA?

    是否有任何示例或文档对其进行描述?

    谢谢。

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

    您好!

    我们只在 SDK 中提供一些示例代码、因为应用代码可能需要您自己进行设计。

    谢谢!

    此致

    Johnson

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

    尊敬的 Johnson:

    我尝试修改示例。 但我发现 SPI 最大时钟为1MHz。

    如果我设置的频率超过1MHz、则时钟频率与实际值不匹配。

    例如:  

    如果我设置  SPI_MASTER_PARAMS.bitrate = 1000000、它将变为1MHz。

    2.如果我设置 SPI_MASTER_PARAMS.bitrate = 2700000、它将变为4MHz。

    MSP430是否限制在 TI-RTOS 上? 还是有方法来克服它?

    谢谢。

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

    您好!

    F5529 SPI 时钟可设置为系统时钟:

    因此、可能存在一些设置错误、您是否尝试了我们的 RTOS 示例代码?

    遗憾的是、我不太熟悉 RTOS。

    谢谢!

    此致

    Johnson

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

    尊敬的 Johnson:

    1.是的、我打开 TI-RTOS 基本示例并运行 SPI。

      我的 DCO FLL 和 ACLK 是基准= REFO。

      如果设置为低于1MHz、则频率非常精确。 但超过1MHz 不会。

    2.我的设置如下:

    SPI_PARAMS_INIT (&SPI_MASTER_PARAMS);
    SPI_MASTER_PARAMS.transferMode = SPI_MODE_BLOCKING;
    SPI_MASTER_PARAMS.transferCallbackFxn =空;
    SPI_MASTER_PARAMS.MODE = SPI_MASTER;
    SPI_MASTER_PARAMS.bitrate = 2700000
    SPI_MASTER_PARAMS.dataSize = 8;

    我打印的时钟值如下所示:

    MCLK = 8192000
    ACLK = 32768
    SMCLK = 8192000

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

    您好!

    您能否将您的项目与 RTOS 共享、我可以在回到办公室时尝试进行调试。

    谢谢!

    此致

    Johnson