msp430f149定时器A怎样产生PWM驱动电机
[P]我想使用msp430f149定时器A产生PWM驱动电机,但是不知道为什么电机不能驱动起来,望各位指点。谢谢[/P][P]程序如下:[/P][P]#include <msp430x14x.h>
typedef unsigned int uint;
void PWM_n(uint pwm);
void main()
{
WDTCTL=WDTPW+WDTHOLD;
P1DIR=0x01; //P1.0设置为输出
_BIS_SR(GIE); //打开总中断
PWM_n(500); //占空比为50% 可调,0~1000
}
void PWM_n(uint pwm)
{
TACTL=TASSEL_1+MC_1; //选择MCLK时钟源,增计数到CCR0
CCTL0=CCIE;
CCTL1=CCIE;
CCR0=1000;
CCR1=pwm; // pwm/1000 为占空比
}[/P][P]#pragma vector=TIMERA1_VECTOR //计数到CCR0后产生中断
__interrupt void ccr0(void)
{
P1OUT |= 0x00; //P1.0输出低电平
}[/P][P]
#pragma vector=TIMERA0_VECTOR
__interrupt void ccr1(void) //计数到CCR1后产生中断
{
switch(TAIV)
{
case 2:P1OUT |= 0x01;break; // P1.0输出高电平 计数到CCR1产生的中断
case 4:break; //计数到CCR2产生的中断
case 10:break; //TIMERA产生的中断,未用到
default:break;
}
}
[/P]