大家好、感谢您的阅读。
我正在尝试为一个项目制作一个 PWM 信号,该 PWM 只是系统的一部分,它只能在 P2.0引脚上完成(其他引脚忙),我用 TimerA0 (P1.6)做了示例,它很好, 但是、当我使用 TimerA1 (P2.0)进行测试时、程序不起作用。
这是代码、 这里、我使用连接到 P2.4的 LED、它只是活动的指示器、图片中的信号位于 P2.0引脚上。
#include <msp430G2553.h> int main(void) { WDTCTL = WDTPW | WDTHOLD; // detengo el wdt BCSCTL1 = CALBC1_1MHZ; DCOCTL = CALDCO_1MHZ; // DCO a 1 Mhz P2DIR |=BIT4; // LED indicador P2DIR|=BIT0; //P2.0 como salida P2SEL|=BIT0; //Permite al pin 2.0 ser salida especial-> TA1.0 P2SEL2 &=~BIT0; TA1CCR0 = 999; //PWM de 1KHz, tiene un periodo de 1milisegundo. TA1CCR1 =500; // ciclo de trabajo (tiempo que la señal está a nivel alto) del 50%, la señal //está a nivel alto 0.5milisegundos. TA1CCTL0 |= OUTMOD_7; TA1CTL = TASSEL_2 + MC_1; // SMCLK, up mode while (1) { P2OUT|=BIT4; __delay_cycles (100000); P2OUT&=~BIT4; __delay_cycles (100000); } }

非常感谢您的观看。