我不熟悉 MSP430产品系列。 我尝试在 P2.3和 P2.4上设置 PWM、这样、当 P2.3为高电平时、P2.4为低电平。 是否有任何建议阅读的资源用于设置此设置? 最后、我想读取电位器的值、并根据 ADC 输入相应地调整占空比。
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.
我不熟悉 MSP430产品系列。 我尝试在 P2.3和 P2.4上设置 PWM、这样、当 P2.3为高电平时、P2.4为低电平。 是否有任何建议阅读的资源用于设置此设置? 最后、我想读取电位器的值、并根据 ADC 输入相应地调整占空比。
约书亚、您好!
不是、不是直接。
TimerA 模块可以使用 TACCR1和 TACCR2在 P2.3和 P2.4上生成 PWM。 您将为 TACCR0选择一个值、该值设置占空比的周期、然后为 TACCR1和 TACCR22选择一个值以生成占空比。 示例- 如果 TACCR0 = 32768且 TACCR1 = TACCR2 = 16384、则两个输出将是50%占空比、并且同相。
接下来、您需要选择输出模式、即模式3 (设置/复位)或 MOD 7 (复位/设置)、让我们假设这两种模式都是模式3。 您可以在 系列用户指南第12节中阅读有关输出模式和计时器操作的更多信息。 这将在两个输出引脚上生成"同相" PWM、但这不是您想要的、因此、如果您将其中一个输出切换到模式7、这将翻转其输出相位、但不再与另一个输出对齐。 要解决此问题、请将 TACCR1设置为所需的占空比、并设置 TACCR2 =(TACCR0 - TACCR1)。
如果您对此有任何疑问、请告诉我。
这对您有很大帮助。 我在图12-9中查看 向上/向下计数模式下的输出单元。 我将如何实现所需的死区时间? 目前、根据我设置的 TACCR1和选择的输出模式、波形在前沿或后沿具有零死区时间、但未居中。
我发现将模式设置为向上/向下、并使用 MOD_2和 MOD_6生成了我要查找的结果。 由于我必须将 TACCR0值降低一个公平的位以通过这个设置获得目标频率、所以它似乎具有更多的抖动。 不确定抖动是否是由该原因引起的。