工具/软件:Code Composer Studio
您好!
今天、我一直在使用 MSP430FR5994 Launchpad 仅生成两个脉冲。 无需重复脉冲。 现在、我可以在 P3.5上生成重复 PWM、而不会出现任何问题。 以下是代码:
#include
void main (void)
{
WDTCTL = WDTPW | WDTHOLD;//停止 WDT
//配置 GPIO
P3DIR |= BIT4 | BIT4;// P3.5和 P3.6输出
P3SEL0 |= BIT4 | BIT5;// P3.5和 P3.6选项选择
P3SEL1 &=~(BIT4 | BIT5);
//禁用 GPIO 上电默认高阻抗模式以激活
//先前配置的端口设置
PM5CTL0 &=~LOCKLPM5;
TB0CCR0 = 1000-1;// PWM 周期
TB0CCTL4 = OUTMOD_7;// CCR4复位/置位
TB0CCR4 = 750;// CCR4 PWM 占空比
TB0CTL = TBSSEL_SMCLK | MC__UP | TBCLR;// SMCLK、向上计数模式、清除 TBR
_bis_SR_register (LPM0_bits);//输入 LPM0
// while (1);
}
以下是我尝试仅生成两个脉冲但失败的情况:
我已经使用中断来强制将 TB0CCR0置为零。 但它不起作用。 它仍然输出连续重复 PWM 波形。
2.我已经使用中断将 CCR4更改为不同的值。 可以更改占空比、但脉冲仍然重复出现。
3.我还在 main()函数中用于()循环,以便在 Pin3.5中只生成两个脉冲,但根本不生成波形。
如果可以、请查看并发送一些有用的建议。 非常感谢。
谢谢、
ZE