2回答

1收藏

MSP430G2553产生PWM的问题

其他 其他 3277 人阅读 | 2 人回复 | 2012-08-30

#include<msp430g2553.h>
#include<math.h>
#define pi 3.141592653
unsigned char step=0;
unsigned char spwm[100];
/***************************Creat PWM tab***************************/
void Creat_PWM_tab(void)
{
  unsigned char i;
  float x,y;
  for(i=0;i<100;i++)
  {
    x = 20000*sin(pi*i/100);
    y = 20000*sin(pi*(i+1)/100);
    spwm[i]=(unsigned char)(x+y)/2;             //面积法求SPWM                  
  }
}
/****************************delay*******************************/
void delay(unsigned char a)
{
  unsigned char x,y;
  for(x=a;x>0;x--)
    for(y=110;y>0;y--);
}

/******************************spwm init*************************/
void spwm_init(void)
{
  P1SEL |= BIT2;                 // Output SPWM1 From P1.2
  P1DIR |= BIT2;
  P1SEL |= BIT6;                 // Output SPWM2 From P1.6
  P1DIR |= BIT6;
  
  TA0CTL |= MC_3+TASSEL_2+ID_0;     //Up/down mode,SMCLK
  TA0CCTL1 |= OUTMOD_6;             //model 6
  TA0CCTL2 |= OUTMOD_2;             //model 2
  TA0CCR0 = 23330;
  TA0CCR1 = 10000;
  TA0CCR2 = 10000;
}
/********************************main****************************/
void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;       //stop watch dog timer
  Creat_PWM_tab();
  
  BCSCTL1 |= CALBC1_8MHZ_;        //MCLK = 8MHZ
  DCOCTL |= CALDCO_8MHZ_;         //Inner DCO = 8MHZ
  BCSCTL2 |= DIVS_3;             //SCLK = 1MHz
  spwm_init();
  
  _EINT();
  TA0CTL |= TAIE;
  TA0CCTL0 |= CCIE;
//  TA0CCTL1 |= CCIE;
//  TA0CCTL2 |= CCIE;
// LPM1;
  while(1);
}
/********************interrupt set spwm *************************/
/*
#pragma vector = TIMER1_A0_VECTOR
__interrupt void Set_SPWM(void)
{
  TA0CCR1 = spwm[step];
// TA0CCR2 = spwm[step];
  if(step<99) step++;
  else step=0;
}*/

上面是我的产生PWM的程序,但是引脚没有产生波形,真心求助, 望各位大牛指点!!!

分享到:
回复

使用道具 举报

回答|共 2 个

倒序浏览

沙发

QQ哥

发表于 2012-8-30 14:14:07 | 只看该作者

本帖最后由 QQ哥 于 2012-8-30 14:38 编辑



建议楼主参考下TI官方代码!
slac485a.zip (239.53 KB, 下载次数: 74)



这是我刚从官网下载的参考代码,学习最好看官方的资料,养成良好习惯!
我就是QQ哥,QQ哥就是我!
https://www.cirmall.com/bbs/?fromuser=QQ%E5%93%A5
板凳

lfjqin

发表于 2012-8-30 14:20:34 | 只看该作者

QQ哥 发表于 2012-8-30 14:14
建议楼主参考下TI官方代码!

版主能不能贴下TI官方的代码啊?!
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条