我用CC1110做了个PWM实验,具体是利用T4的通道0产生PWM信号,同时定时器T1的通道0,1,2也产生PWM信号,只不过他们的pwm频率不同。
关键程序如下:
TIMER4_SET_T4CCTL0(0x24);//T4CCTL0 = 0X24;
TIMER4_SET_T4CTL(0X00);//T4CTL = 0X00;
TIMER4_SET_P1SEL(0X01);//P1SEL |= 0X01;用P1.0
TIMER4_SET_T4CC0(0X0A);//T4CC0 = 0X0A;
StartTimer4();//T4CTL |= 0X10;
//定时器T1
T1MER1_P2DIR_SET_PRIORITY(0XC0);//P2DIR |= 0XC0//T1优先于UART1使用P0.2,P0.3
T1MER1_SET_P0SEL(0X1c);//P0SEL |= 0X1C;
TIMER1_SET_T1CTL(0x04);//T1CTL |= 0X04;
// channel 0
T1MER1_SET_T1CCTL0(0X1C);T1CCTL0 |= 0X1C
TIMER1_SET_T1CC0(0X1FBD);//T1CC0L = 0XBD;T1CC0H = 0X1F;
//channel 1
TIMER1_SET_T1CCTL2(0x1C);//
T1MER1_SET_T1CC2(0X2FBD);//设置10%
//channel 2
TIMER1_SET_T1CCTL1(0x1C);
T1MER1_SET_T1CC1(0X3FBD);
结果是定时器1的三个通道会收到定时器4的影响,波形图如图1所示
如果我把定时器4停止,那么就是OK的。如图2所示
整个程序就一个时钟初始化,然后PWM初始化,然后while死循环,难道T4和T1有关联?手册上也没看出来啊!

