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.
大家好、
如何在 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 吗?
我找到了一些文档、但没有找到任何描述。
您能给我一些提示或示例吗?
谢谢。
您是否连接到诸如 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