|
下面是生成PWM波的代码,是参考资料里面的,有些疑问,想请教一下
[复制链接]
我把下面的代码写进G2553里后,用示波器观察没有PWM波的产生,怀疑Timer定时器配置出错了,请大神看看~
#include
void Timer_A0_1_init()//TA0.1输出PWM
{
TACTL|=TASSEL_1+MC_1;
CCTL1=OUTMOD_7;
CCR0=328;
CCR1=109
;//占空比为CCR1/CCR0= TA0由P1.2和P1.6输出
}
void Timer_A1_2_init()//TA1.2输出PWM
{
TA1CTL|=TASSEL_1+MC_1;
TA1CCTL2=OUTMOD_7;
TA1CCR0=164;
TA1CCR2=41;//占空比为CCR1/CCR0 由2.4和2.5输出
}
void Timer_A1_1_init()//TA1.1输出pwm
{
TA1CCTL1=OUTMOD_7;
TA1CCR1=123;
}
void IO_init()
{
P1SEL|=BIT2+BIT6;
P1DIR|=BIT2+BIT6;//P1.2 P1.6 输出 TA0.1
P2SEL|=BIT4+BIT5;
P2DIR|=BIT4+BIT5;//P2.4 P2.5 输出 TA1.2
P2SEL|=BIT1+BIT2;
P2DIR|=BIT1+BIT2;//P2.1 P2.2 输出TA1.1
}
void main (void)
{
WDTCTL = WDTPW + WDTHOLD;
IO_init();
Timer_A0_1_init();
Timer_A1_2_init();
Timer_A1_1_init();
_BIS_SR(CPUOFF);
}
|
-
2.png
(261.36 KB, 下载次数: 0)
-
3.png
(145.14 KB, 下载次数: 0)
-
4.png
(77.43 KB, 下载次数: 0)
|