大神看看这msp430f5529产生sqwm的程序哪里出错了啊啊啊啊,要怎么改啊啊 啊

2019-03-24 12:24发布

#include <msp430f5529.h>
#include "spwm.h"
char i;
unsigned int j=1;
int n=0;
int t;
const int spwm[]={ 0, 5 , 10, 15, 20, 25, 29, 34, 39, 44, 49, 54, 59, 64, 69, 73, 78, 83, 88, 93, 98, 102, 107, 112, 117, 121, 126, 131, 136, 140, 145, 150, 155, 159, 164, 168, 173, 178, 182, 187,
191, 196, 200, 205, 209, 214, 218, 223, 227, 231, 236, 240, 244, 249, 253, 257, 261, 265, 270, 274, 278, 282, 286, 290, 294, 298, 302, 306, 310, 313, 317, 321, 325, 328, 332, 336, 339, 343, 347, 350, 354,
357, 360, 364, 367, 370, 374, 377, 380, 383, 387, 390, 393, 396, 399, 402, 405, 407, 410, 413, 416, 418, 421, 424, 426, 429, 431, 434, 436, 439, 441, 443, 446, 448, 450, 452, 454, 456, 458, 460, 462, 464,
466, 467, 469, 471, 472, 474, 476, 477, 478, 480, 481, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 495, 496, 497, 497, 498, 498, 498, 499, 499, 499, 500, 500, 500, 500, 500, 500, 500,
500, 500, 499, 499, 499, 498, 498, 498, 497, 497, 496, 495, 495, 494, 493, 492, 491, 490, 489, 488, 487, 486, 485, 484, 483, 481, 480, 478, 477, 476, 474, 472, 471, 469, 467, 466, 464, 462, 460, 458, 456,
454, 452, 450, 448, 446, 443, 441, 439, 436, 434, 431, 429, 426, 424, 421, 418, 416, 413, 410, 407, 405, 402, 399, 396, 393, 390, 387, 383, 380, 377, 374, 370, 367, 364, 360, 357, 354, 350, 347, 343, 339,
336, 332, 328, 325, 321, 317, 313, 310, 306, 302, 298, 294, 290, 286, 282, 278, 274, 270, 265, 261, 257, 253, 249, 244, 240, 236, 231, 227, 223, 218, 214, 209, 205, 200, 196, 191, 187, 182, 178, 173, 168,
164, 159, 155, 150, 145, 140, 136, 131, 126, 121, 117, 112, 107, 102, 98, 93, 88, 83, 78, 73, 69, 64, 59, 54,49, 44, 39, 34, 29, 25, 20, 15, 10, 5};
void TimerB_Init()
{
   P1SEL |= BIT3+BIT2;                              // Set for Timer A1
   P1DIR |= BIT3+BIT2;
   TACCR0 = 500;                                    // Init TACCR0 w/ sample
  prd=CCR0+1
   TACCR1=TACCR2=spwm[n];                           // Trig for ADC12 sample &
  convert
   TACCTL1 = OUTMOD_6;                              // Set/reset
   TACCTL2 = OUTMOD_6;
   TACCTL0=CCIE;
   TACTL = TACLR + MC_1 + TASSEL_2;                 // clear TAR, up mode*/
}
void delay(unsigned long i)
{while(i--);}
void ini_sys(void)
{
   WDTCTL=WDTPW+WDTHOLD;                            //STOP W D T
   BCSCTL1=0x00;                                    //Set 430 clk 开启XT2,DOC的标称频率为最低 且不分频;XT1为低速晶体(32.768K)
                                                    // BCSCTL2=SELM_2+SELS+DIVS_3;//选择MCLK SCLK的时钟源为高速时钟 不分频,均为8M
   BCSCTL2=SELM_2+SELS;
   do
   {
      IFG1&=~OFIFG;
      for(i=0xff;i>0;i--);
    }
   while ((IFG1&OFIFG)!=0);
}
void main()
{
   WDTCTL=WDTPW+WDTHOLD;
   ini_sys();
   TimerB_Init();
   _EINT();                                         //_BIS_SR(LPM0_bits + GIE);
   while(1);
}
#pragma vector=TIMERA0_VECTOR
__interrupt void TimerB(void)
{
    t++;
    if(t<320)
    {
      n=(n+1)%320;
      TACCR1=spwm[n];
      TACCR2=0;
     }
    else if(t<640)
    {
       n=(n+1)%320;
       TACCR2=spwm[n];                  
       TACCR1=0; }                                    
    else                                                
       t=0;
     }
}
运行的时候提示“#include "spwm.h"”是错误的
大神啊,改怎么改撒 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
Li_Lei
2019-03-25 07:25
 精彩回答 2  元偷偷看……0人看过

一周热门 更多>

相关问题

    相关文章